【发布时间】:2015-08-14 23:44:53
【问题描述】:
我对编程和 python 很陌生,你能帮我写一下我写的代码吗?我不知道如何让它工作。我必须为此使用课程吗?另外如何在多个函数中使用相同的变量?我需要多处理吗?
这是我的测试代码:
from time import sleep
from multiprocessing import Process
def p1():
while True:
a = 1+1
sleep(1)
def p2():
while True:
b = 1+1
sleep(1)
def p3():
while True:
c = a+b
print c
sleep(1)
try:
a1 = Process(target = p1)
a2 = Process(target = p2)
a3 = Process(target = p3)
a1.start()
a2.start()
a3.start()
它说我在最后一行有一个无效的语法,它是空的。但是我很确定即使没有语法我的代码也不会工作,你能帮忙吗?有什么可以改变的?
【问题讨论】:
-
你有一个语法错误,因为在
try之后必须有一些except。 -
"我需要多处理吗?"要看。你想达到什么目标?
-
(1)
p1和p2函数将无限运行。这可能不是你想要的。 (2) 在一个函数中定义的变量(例如p1中的a)是该函数的局部变量;因此,p3不会知道任何关于a和b的信息,并且会因为这些变量未定义而失败。 (3)您的try-except不完整,其他人指出。 -
感谢您的回复。 @tobias_k 我想在每个函数中进行算法或一些计算,然后将所有这些函数输出组合起来。好像还是用class no比较好?
标签: python function python-2.7 while-loop python-multiprocessing