如何实现python多线程更新修改数据项操作方法?,python数据项,代码比较简单import
如何实现python多线程更新修改数据项操作方法?,python数据项,代码比较简单import
代码比较简单
import multiprocessingimport timelist1 = [1,2,3]def func(msg): list1[0] = 99 return "done " + msgif __name__ == "__main__": pool = multiprocessing.Pool(processes=4) for i in range(10): msg = "hello %d" % (i) pool.apply_async(func, (msg,)) pool.close() pool.join() print (list1)
因为真实的环境比较多,所以简化了代码,我大概的需求就是list1是一个比较多的数据列表,然后在多线程处理的时候,每次更新其中一项数据...
但是我运行以后,发现list1还是[1,2,3] , 我理想应该是[99,2,3]
有高手指点一下要如何实现吗?
不好意思,你用的multiprocessing是多进程而不是多线程,每个进程中的变量都是独立的,
你应该使用threading,这个才是多线程
如果你坚持用multiprocessing,就必须用共享变量,你可以将list里的数据存入Queue中,
Queue是python中的共享队列,用于多进程通信的
编橙之家文章,
相关内容
- Python源码在guess错误后没按照预设效果执行,pythongues
- 有哪些渗透工具是用python语言开发的?,渗透python,目前
- Python生成固定大小文件最高效方法,python生成大小,问,
- flask CSS文件'ascii' codec问题,flaskcodec,flask 版本使用0.
- JS是学习python爬虫必要了解的知识点吗,python爬虫,额
- 求指导django中one-to-many和foreign key的应用及用途,djang
- Python什么方法可以将XML转换为JSON格式,pythonjson,由于老
- Python mysql数据牗executemany指定写入表报错,pythonexecute
- python3一当前函数调用另一个函数中的数据怎么实现,
- python import模块导入ImportError: No module named A路径应该没问
评论关闭