Python 使用 4000 个线程进行线程化

Python threading with 4000 threads

正在使用 urls 从纳斯达克获取股票数据。对于 4000 支股票,我正在考虑在一个线程中进行每支股票,因此 4000 url 个线程。有人试过这个吗?它会超载 windows 堆栈吗?

我建议使用 concurrent.futures.ThreadPoolExecutor() 和默认的 max workers,因为太多的线程会导致巨大的开销。

Max workers 默认为 (processor_count) * 5,我相信这对你来说很好。

使用 asyncio 的客户端也是一种选择,但要复杂得多。