Bestporter
Bestporter
函数create_items、multiply_items部分无注释,看了好久才明白。 第一个费解的地方`pipe_1 = multiprocessing.Pipe(True)`,不知道这个Pipe具体干了什么的,查看源码后发现就是弄了两个队列,然后建立连接,至于至于send,就是使用的Queue的put函数,recv就是使用的Queue的get函数,用两个队列实现双工。 ```python # 源代码位于multiprocessing/dummy/connection.py def Pipe(duplex=True): a, b = Queue(), Queue() return Connection(a, b), Connection(b, a) class Connection(object): def __init__(self, _in, _out): self._out = _out self._in =...
文中说到terminate会立即杀死进程,但是输出如下下方的图,在p.terminate()之后,输出进程p.is_alive()返回了True,也就是进程还活着,但是在p.join()之后,再次输出p进程的状态却死了,经过自己尝试,terminate确实会立即去杀死进程,但是在主进程执行到p.is_alive()的时候p尚未被杀死所以导致了返回了True。看文章的时候我以为是和后面的join有关,后面尝试在terminate之后执行time.sleep(),发现与join并无关联。具体代码如下: ```python import multiprocessing from multiprocessing.dummy import Process import time def foo(): print("Starting func") time.sleep(0.1) if __name__ == "__main__": p = multiprocessing.Process(target=foo) print("Process before excution:", p, p.is_alive()) p.start() print("Process running...
虽然连接没有问题,但是不能直达,一直安全提醒有点烦
在执行步骤三: ```bash python train.py ``` 出现下面的错误 ```python epoch: 0 step: 0 loss: 0.7400339245796204 Traceback (most recent call last): File "L:\Projects\chapter8\DeepLearningImageCaptcha\train.py", line 49, in main() File "L:\Projects\chapter8\DeepLearningImageCaptcha\train.py", line 39, in main...