Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么要使用多处理来获得EOFError。经理()?_Python_Multiprocessing_Python Multiprocessing - Fatal编程技术网

Python 为什么要使用多处理来获得EOFError。经理()?

Python 为什么要使用多处理来获得EOFError。经理()?,python,multiprocessing,python-multiprocessing,Python,Multiprocessing,Python Multiprocessing,在Python中,要通过使用多处理在不同进程之间共享数据,我们使用多处理.Manager()。我想在下面的代码中得到输出[1,2,3,4,5,6,7,8,9,10],但我得到的是EOFError。为什么? 代码是: import multiprocessing manager=multiprocessing.Manager() final_list=manager.list() input_list_one=[1,2,3,4,5] input_list_two=[6,7,8,9,10] de

在Python中,要通过使用
多处理
在不同进程之间共享数据,我们使用
多处理.Manager()
。我想在下面的代码中得到输出
[1,2,3,4,5,6,7,8,9,10]
,但我得到的是EOFError。为什么? 代码是:

import multiprocessing
manager=multiprocessing.Manager()

final_list=manager.list()
input_list_one=[1,2,3,4,5]
input_list_two=[6,7,8,9,10]

def worker(data):
    for item in data:
        final_list.append(item)

process_1=multiprocessing.Process(target=worker,args=[input_list_one])
process_2=multiprocessing.Process(target=worker,args=[input_list_two])
process_1.start()
process_2.start()
process_1.join()
process_2.join()

print(final_list)
我得到以下错误:

Process SyncManager-1:
Traceback (most recent call last):
  File "/data/user/0/org.qpython.qpy3/files/lib/python36.zip/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/data/user/0/org.qpython.qpy3/files/lib/python36.zip/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/data/user/0/org.qpython.qpy3/files/lib/python36.zip/multiprocessing/managers.py", line 539, in _run_server
    server = cls._Server(registry, address, authkey, serializer)
  File "/data/user/0/org.qpython.qpy3/files/lib/python36.zip/multiprocessing/managers.py", line 139, in __init__
    self.listener = Listener(address=address, backlog=16)
  File "/data/user/0/org.qpython.qpy3/files/lib/python36.zip/multiprocessing/connection.py", line 438, in __init__
    self._listener = SocketListener(address, family, backlog)
  File "/data/user/0/org.qpython.qpy3/files/lib/python36.zip/multiprocessing/connection.py", line 576, in __init__
    self._socket.bind(address)
PermissionError: [Errno 13] Permission denied
Traceback (most recent call last):
  File "/storage/emulated/0/qpython/.last_tmp.py", line 2, in <module>
    manager=multiprocessing.Manager()
  File "/data/user/0/org.qpython.qpy3/files/lib/python36.zip/multiprocessing/context.py", line 56, in Manager
  File "/data/user/0/org.qpython.qpy3/files/lib/python36.zip/multiprocessing/managers.py", line 517, in start
  File "/data/user/0/org.qpython.qpy3/files/lib/python36.zip/multiprocessing/connection.py", line 250, in recv
  File "/data/user/0/org.qpython.qpy3/files/lib/python36.zip/multiprocessing/connection.py", line 407, in _recv_bytes
  File "/data/user/0/org.qpython.qpy3/files/lib/python36.zip/multiprocessing/connection.py", line 383, in _recv
EOFError
1|u0_a823@land:/ $

进程同步管理器-1:
回溯(最近一次呼叫最后一次):
文件“/data/user/0/org.qpyton.qpy3/files/lib/python36.zip/multiprocessing/process.py”,第258行,在_bootstrap中
self.run()
文件“/data/user/0/org.qpyton.qpy3/files/lib/python36.zip/multiprocessing/process.py”,第93行,正在运行
自我目标(*自我参数,**自我参数)
文件“/data/user/0/org.qpyton.qpy3/files/lib/python36.zip/multiprocessing/managers.py”,第539行,在运行服务器中
服务器=cls.\u服务器(注册表、地址、身份验证码、序列化程序)
文件“/data/user/0/org.qpyton.qpy3/files/lib/python36.zip/multiprocessing/managers.py”,第139行,在__
self.listener=listener(地址=address,backlog=16)
文件“/data/user/0/org.qpyton.qpy3/files/lib/python36.zip/multiprocessing/connection.py”,第438行,在__
self.\u listener=SocketListener(地址、家庭、待办事项)
文件“/data/user/0/org.qpyton.qpy3/files/lib/python36.zip/multiprocessing/connection.py”,第576行,在__
self.\u socket.bind(地址)
PermissionError:[Errno 13]权限被拒绝
回溯(最近一次呼叫最后一次):
文件“/storage/emulated/0/qpython/.last_tmp.py”,第2行,在
manager=multiprocessing.manager()
文件“/data/user/0/org.qpyton.qpy3/files/lib/python36.zip/multiprocessing/context.py”,第56行,在Manager中
文件“/data/user/0/org.qpyton.qpy3/files/lib/python36.zip/multiprocessing/managers.py”,第517行,开头
recv中的文件“/data/user/0/org.qpyton.qpy3/files/lib/python36.zip/multiprocessing/connection.py”,第250行
文件“/data/user/0/org.qpyton.qpy3/files/lib/python36.zip/multiprocessing/connection.py”,第407行,以字节为单位
文件“/data/user/0/org.qpyton.qpy3/files/lib/python36.zip/multiprocessing/connection.py”,第383行,在
伊奥费罗
1 | u0_a823@land:/ $

为我运行--我有时会以混乱的顺序获取最终列表中的数字。是的,顺序可能会改变…但为什么会出错?@SupriyoHalder--我没有收到错误,因此无法复制。仅供参考--您的帖子声明您正在获取EOFError,但您的错误日志显示权限被拒绝的错误。为我运行--我有时会以混乱的顺序获取最终列表中的数字。是的,顺序可能会更改…但为什么会出错?@SupriyoHalder--我没有收到错误,因此无法复制。仅供参考——您的帖子声明您正在获取EOFError,但您的错误日志显示权限被拒绝错误。