首页 > 解决方案 > 同时运行多个函数(线程)

问题描述

我想同时运行不同的python函数。每个函数都是完全独立的不同算法交易策略。我想避免同时打开多个 Spyder 实例(尽管我的 PC 肯定不是很强大,但在打开并运行 5 个以上的实例时,我经历了几次 Spyder 崩溃)。

我使用线程,但似乎只有第一个代码正在运行(即t1)。

我可能做错了什么?

#set the path to working directory
from os import chdir, getcwd
#C:\Users\User\Desktop\Python for Finance\MACD_Strategy\Alpaca_MACD
wd = "C:\\Users\\User\\Desktop\\Python for Finance\\MACD_Strategy\\Alpaca_MACD"
chdir(wd)
from MACD_Alpaca_5min_15min_LS_Portfolio_System_Yahoo import MACD_Alpaca_algo
from MACD_reverse_Alpaca_5min_15min_LS_Portfolio_System_Yahoo import MACD_2_Alpaca_algo
import threading

t1 = threading.Thread(target = MACD_Alpaca_algo())
t2 = threading.Thread(target = MACD_2_Alpaca_algo())


t1.start()
t2.start()

标签: pythonmultithreading

解决方案


您在产生线程之前调用该函数。这是正确的方法。

t1 = threading.Thread(target = MACD_Alpaca_algo)
t2 = threading.Thread(target = MACD_2_Alpaca_algo)

推荐阅读