executor.submit(my_function, i) 为什么运行了一段时间, my_function 函数就会偶尔不执行
MAX_THREAD=100
executor = concurrent.futures.ThreadPoolExecutor(max_workers=MAX_THREAD)
def startTheadCancel(self,orderIds):
#t = Thread(target=orderCancelStart, args=(self,orderIds))
#t.start()
executor.submit(orderCancelStart,self,orderIds)
就是像这样的, 用自己创建线程就都会执行
用 executor.submit ,有时就没执行,几十分钟出现一次
一秒钟不同的地方可能会 executor.submit 多次,因为交易软件非常频繁地创建线程,一秒钟创建 n 个,花销在创建和销毁线程的时间会很多,所以想用 executor ,但是 executor 却会出现有时执行不到函数里的情况。
1
gancl OP 现在发现自己创建线程,偶尔也是会没执行到。只是机率没那么高,一两个小时才出现吧
|