Python多股票价格跟踪器

Python多股票价格跟踪器,python,python-3.x,algorithmic-trading,Python,Python 3.x,Algorithmic Trading,我试图用python为一组股票创建一分钟的股价跟踪服务器。我已经编写了一个多线程python程序,它为列表中的每只股票调用我的价格跟踪器函数。这导致我的计算机上的CPU利用率达到~100%,并且使一切都非常缓慢 你能建议一种方法或任何其他工具,我应该使用 另外,我也尝试过多点处理 def(x): 打印(“启动过程:+str(x)) 时间。睡眠(5) 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': 虽然(正确): km=datetime.now()分钟 ks

我试图用python为一组股票创建一分钟的股价跟踪服务器。我已经编写了一个多线程python程序,它为列表中的每只股票调用我的价格跟踪器函数。这导致我的计算机上的CPU利用率达到~100%,并且使一切都非常缓慢

你能建议一种方法或任何其他工具,我应该使用

另外,我也尝试过多点处理

def(x):
打印(“启动过程:+str(x))
时间。睡眠(5)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
虽然(正确):
km=datetime.now()分钟
ks=datetime.now().second
如果km%1==0且ks==1:
打印(“=>S===>/km=“+str(km)+”|“+”ks=“+str(ks))
对于范围(20)内的x:
p=进程(目标=f,参数=(x,))
p、 开始()
km=datetime.now()分钟
ks=datetime.now().second
打印(“=>E===>/km=“+str(km)+”|“+”ks=“+str(ks))
时间。睡眠(1)
p、 加入
这是我的密码。函数f是我计划在每分钟开始时进行计算,它应该为n个库存创建单独的过程(代码示例中为20个)

编辑:(1)我做了以下更改,并认为它将与时钟同步,但是,时钟和下面的打印代码不匹配。总有6秒的延迟


从多处理导入进程
导入操作系统
导入时间
firstRun=True
def f(x):
打印(“启动过程:+str(x))
时间。睡眠(5)
打印(“结束过程:+str(x))
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
虽然(正确):
ks=datetime.now().second
打印(“//秒延迟:”+
str(ks))
如果(首次运行):
ks=datetime.now().second
打印(“第一次运行-睡眠时间”+str(60-ks)+“秒”)
firstRun=False
时间。睡眠(60-ks)
其他:
打印(“后续运行…”)
ks=datetime.now().second
#打印(“=>S===>/ks=“+str(ks))
对于范围(20)内的x:
p=进程(目标=f,参数=(x,))
p、 开始()
ks=datetime.now().second
#打印(“=>E==>ks=“+str(ks))
p、 加入
打印(“将睡眠”+str(60-ks)+“秒”)
时间。睡眠(60-ks)
输出:

//秒延迟:6
后续运行。。。
启动过程:2
正在启动进程:0
启动过程:1
启动过程:3
启动过程:5
启动过程:4
启动过程:14
启动过程:9
启动流程:15
启动过程:11
启动过程:17
启动过程:6
启动流程:8
启动过程:12
启动流程:18
启动流程:16
启动过程:13
启动过程:10
启动过程:19
启动过程:7
结束过程:2
结束进程:0
结束过程:1
结束过程:3
结束过程:5
结束过程:4
结束进程:14
结束过程:9
结束进程:15
结束进程:11
结束进程:17
结束过程:6
结束进程:12
结束过程:8
结束进程:18
结束进程:16
结束进程:13
结束过程:10
结束进程:19
结束过程:7
将睡眠54秒。
使用“计划”库解决了此问题:

导入计划
.
.
.
计划。每(1)分钟。在(“:00”).do(运行线程,作业)

添加代码和/或显示您所做的研究是习惯。您睡眠的唯一时间是每分钟一次。剩下的时间都花在旋转循环中,当然你将在100%的CPU上。所有mod 1的整数都是0,所以
km%1==0
对你没有任何帮助。如果你想每分钟执行一次,你可能想
sleep(60)
@MarkRansom,你能建议一种避免这种情况的方法吗?@Josh,在这种情况下,如果我的函数f运行10秒,那么到子进程加入主进程时,所用的总时间将是70秒。不是吗?