d*****u 发帖数: 17243 | 1 想要几个threads共用一个generator来获取数据。
每个不重复(不是copy generator然后各自为政)。
Python有办法实现吗?
Multiprocessing好像是不行。 |
r****t 发帖数: 10904 | 2 producer consumer code usually uses a Queue to do this. |
d*****u 发帖数: 17243 | 3 Queue是作数据传输用。
但如果在几个Thread里独立调用同一个generator,能不能让它每次都往下走一步?
我搜了一下好像是可以共享,但如果同时被调用会报错,所以用threads无法提高效率。
【在 r****t 的大作中提到】 : producer consumer code usually uses a Queue to do this.
|
h**c 发帖数: 1979 | |
s*****V 发帖数: 21731 | 5 没有用过,但是感觉上可以啊,有GIL,一个个地调用
率。
【在 d*****u 的大作中提到】 : Queue是作数据传输用。 : 但如果在几个Thread里独立调用同一个generator,能不能让它每次都往下走一步? : 我搜了一下好像是可以共享,但如果同时被调用会报错,所以用threads无法提高效率。
|
m*****n 发帖数: 3575 | |
m*****n 发帖数: 3575 | |
m*****n 发帖数: 3575 | 8 python支持协程,也就是一个进程做完了当前工作,提示另一个做 |
r****t 发帖数: 10904 | 9 https://stackoverflow.com/questions/1131430/are-generators-threadsafe
generator's implementation is not thread-safe. You have to use a Queue for
this.
率。
【在 d*****u 的大作中提到】 : Queue是作数据传输用。 : 但如果在几个Thread里独立调用同一个generator,能不能让它每次都往下走一步? : 我搜了一下好像是可以共享,但如果同时被调用会报错,所以用threads无法提高效率。
|