我想在后台线程中运行生成器函数。一段时间后,我想尽可能干净地“停止”线程。该实现必须是线程安全的。
我很确定其他人已经有相同的用例,而我只是不够好地搜索和/或将几部分放在一起。
到目前为止,我研究了一些有希望的实现:
StoppableThread
class将生成器包装到一个线程中并使它“可停止”。由于生成器不是线程安全的,因此必须添加锁定,例如LockedIterator
class完成了以上课程。
A ThreadedGenerator
class(使用Queue
)。