python executor.submit(my_function, i) 偶尔不执行怎么办?

2016-01-01 14:50:24 +08:00
 gancl

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 却会出现有时执行不到函数里的情况。

3566 次点击
所在节点    Python
1 条回复
gancl
2016-01-01 15:15:55 +08:00
现在发现自己创建线程,偶尔也是会没执行到。只是机率没那么高,一两个小时才出现吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/247666

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX