在开始发布这篇文章之前,我只是想补充一点,这是我第一次真正使用ThreadPoolExecutor,并且我感觉到我缺少明显的东西。我尝试查看现有帖子,但未找到任何相关内容,因此我将在此处发布查询。我在理解这部分内容时遇到了一些麻烦,因此我将尽力做到尽可能简洁明了。
我有以下代码片段:
import time
from queue import Queue
from connection.api import IGAPI
from concurrent.futures import ThreadPoolExecutor
class MarketDataEngine:
def __init__(self):
self.market_data_stream = IGAPI()
self.market_data_queue = Queue(maxsize=15)
self.pool = ThreadPoolExecutor(2)
def process_market_data(self, future):
"""
Callback function to be applied on the future price object
This is invoked once the future object has a status of done
"""
if future.cancelled():
print("{}: cancelled".format(future.arg))
elif future.done():
error = future.exception(