多进程间共享的变量要使用特殊的数据结构,在multiprocessing包里有提供,常用的有Queue, Value, Array等,这里比较适合用Queue
修改后的程序如下,注意Result赋值,和ProcessCheck的参数
另外,Result要排序后输出的话,要用循环从Queue取值构建list再排序,这里省略了
import datetimeimport sys
import time
import multiprocessing
PartStart = [] #每个process计算的起点
PartEnd = [] #每个process计算的终点
Result = multiprocessingQueue() #所有结果存储在Result数组中
ProcessCount = 10 #进程数
EndNum = 9999999 #计算范围,默认100开始,终止数可以任意修改,大于100即可
print('Start:%s' %datetimedatetimenow()strftime("%Y/%d/%m %H:%M:%S"))
start=timetime()
d=int(((EndNum-99)/ProcessCount)+05)
for i in range(ProcessCount):
PartStartappend(100+id)
PartEndappend(PartStart[i]+d-1)
PartEnd[ProcessCount-1]=EndNum
#==========================================
#这段代码只是计算每个process的计算起点和终点
def CheckNum(Number):
tmp=str(Number)
len_num=len(tmp)
sum_num = 0
for i in range(len_num):
sum_num=sum_num+(int(tmp[i])len_num)
if sum_num==int(Number):
return True
#print(Number,"是水仙花数")
else:
return False
#print(Number,"不是水仙花数")
def ProcessCheck(Start,End, Result):
for j in range(int(Start),int(End)+1):
if CheckNum(j):
#print(j,"是水仙花数")
print("hello world")
Resultput(str(j)+"是水仙花数")
#============================================
#这段代码用于计算某数值区间内的水仙花数,并存储进result数组中,也是每个process运行的代码
def main():
threads=[]
for i in range(ProcessCount):
p=multiprocessingProcess(target=ProcessCheck, args=(PartStart[i],PartEnd[i], Result))
threadsappend(p)
for i in range(ProcessCount):
threads[i]start()
for i in range(ProcessCount):
threads[i]join()
#Resultsort(key=lambda t:t[0])
for i in range(Resultqsize()):
print(Resultget())
#将最后的结果排序输出,但没有任何结果出现
end = timetime()
input('End:%s' %datetimedatetimenow()strftime("%Y/%d/%m %H:%M:%S")+"\n"+"共耗时:"+str(end-start))
#这个input没有任何意义,主要是防止程序直接结束退出
if __name__ == '__main__':
main()
1、两个页面之间传值,例如点击A页面跳转到B页面,把A页面的变量传到B页面。
2、第一种方法在button上绑定一个点击函数,代码:<button bindtap='tz'>我是A页面</button>。
2、在对应的js文件里面写上跳转代码,并携带参数ID=3。
3、点击一下A页面的button,在B页面就可以收到值了,B页面的options里面是要接收的值。
4、第二种方法就是直接跳转,携带参数直接写在里面。
以上就是关于python3.4.3 多进程之间结果变量的传递问题,程序无任何结果输出全部的内容,包括:python3.4.3 多进程之间结果变量的传递问题,程序无任何结果输出、微信小程序怎么把变量传到另一个页面、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)