Add the wiki link of semaphore

pull/381/head
Jonthan Lim 2019-11-26 23:40:47 +08:00
parent 302575f558
commit 33fc47cea4
1 changed files with 1 additions and 1 deletions

View File

@ -125,7 +125,7 @@ if __name__ == '__main__':
main()
```
看起来没毛病但是最后的结果是Ping和Pong各输出了10个Why当我们在程序中创建进程的时候子进程复制了父进程及其所有的数据结构每个子进程有自己独立的内存空间这也就意味着两个子进程中各有一个`counter`变量所以结果也就可想而知了。要解决这个问题比较简单的办法是使用multiprocessing模块中的`Queue`类,它是可以被多个进程共享的队列,底层是通过管道和[信号量semaphore]()机制来实现的,有兴趣的读者可以自己尝试一下。
看起来没毛病但是最后的结果是Ping和Pong各输出了10个Why当我们在程序中创建进程的时候子进程复制了父进程及其所有的数据结构每个子进程有自己独立的内存空间这也就意味着两个子进程中各有一个`counter`变量所以结果也就可想而知了。要解决这个问题比较简单的办法是使用multiprocessing模块中的`Queue`类,它是可以被多个进程共享的队列,底层是通过管道和[信号量semaphore](https://zh.wikipedia.org/wiki/%E4%BF%A1%E5%8F%B7%E9%87%8F)机制来实现的,有兴趣的读者可以自己尝试一下。
### Python中的多线程