Kai*_*hen 8 python multiprocessing pycharm
我正在使用pycharm社区版中的anaconda2调试多进程程序.它有几个后台工作进程.在收到任务之前,工作进程将检查输入队列以在不休眠的情况下检索任务.事实上,我只对主要过程感兴趣.但是pycharm调试器总是步入子进程,似乎主进程一直没有工作,而且任务从未发送过.如何使调试器脱离子进程?worker子进程如下所示:
class ILSVRC_worker:
...
def run(self):
cfg_parser = ConfigParser.ConfigParser()
cfg_parser.read(self.cfg_path)
data_factory = ILSVRC_DataFactory(cfg_parser)
logger = mp.log_to_stderr(logging.INFO)
while True:
try:
annotation_path = self.que_in.get(True,0.1)
except Queue.Empty:
continue
if annotation_path is None:
# to exit the subprocess
logger.info('exit the worker process')
break
...
Run Code Online (Sandbox Code Playgroud)
我可以想到两种方法来实现这一目标,但不幸的是,我认为社区版不可能实现。
Pool因为您不知道将作业分配给哪个进程。我最终在没有任何多处理的情况下测试了我的代码
| 归档时间: |
|
| 查看次数: |
5336 次 |
| 最近记录: |