<p>这就是我对它的理解</p>
<pre><code>from __future__ import print_function #(1)
import os #(2)
import sys
import time
def child(pipein): # (3)
num1 = int(os.read(pipein, 32)) # (6)
num2 = int(os.read(pipein, 32))
r = num1 * num2
print("r = {}".format(r))
print("Child says bye.")
sys.stdout.flush() # (4)
os._exit(0) # (5)
def parent():
pipein, pipeout = os.pipe()
x = 1
if os.fork() == 0:
print("Launching child")
child(pipein)
else: # (7)
print("In parent")
num1 = str(2) # (8)
num2 = str(1)
os.write(pipeout, num1)
os.write(pipeout, num2)
print("Parent goes to sleep")
time.sleep(x)
print("Parent says bye.")
if __name__ == '__main__':
parent()
</code></pre>
<ol>
<li>这是使<code>print()</code><em>函数</em>在python2.x中工作所必需的</li>
<li>风格:导入应该在单独的行上</li>
<li>如果要在第一次迭代之后<code>exit()</code>,则不需要循环</li>
<li>否则指纹可能不会出现。在</li>
<li>样式:在函数后使用两个空行。在</li>
<li>除非在行尾使用逗号。在</li>
<li>删除while循环,否则将处于无限循环中。在</li>
<li>样式:在运算符周围使用空格。在</li>
</ol>
<p>通过这些修改,我得到以下输出:</p>
^{pr2}$
<p>如果要使用多个进程,通常使用<code>multiprocessing</code>模块是一个更好的主意。它有进程和进程池的对象,以及队列和管道等通信对象。队列是先进先出的,并且它们是同步的;因此,如果您放入两个项目,则可以读取两个项目。在</p>