Tôi đang viết một chương trình mẫu để kiểm tra việc sử dụng multi hồ bơi của người lao động trong python 2.7.2+python Lỗi đa hồ bơi Assertion trong thông dịch
Đây là mã tôi đã viết trong thông dịch viên python ubuntu
>>> from multiprocessing import Pool
>>> def name_append(first_name,last_name):
... return first_name+" "+last_name
...
>>> from functools import partial
>>> partial_name_append=partial(name_append,'kiran')
>>> partial_name_append('acb')
'kiran acb'
>>> abc='kiran'
>>> pool=Pool(processes=4)
>>> pool.map(partial_name_append,abc)
['kiran k', 'kiran i', 'kiran r', 'kiran a', 'kiran n']
>>> pool.close()
>>> pool.join()
>>> pool.map(partial_name_append,abc)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/multiprocessing/pool.py", line 226, in map
assert self._state == RUN
AssertionError
Sau khi tôi nhận được lỗi pickle, trên hồ bơi của công nhân mã cho các tập dữ liệu lớn, tôi đang cố gắng làm các ví dụ nhỏ và cố gắng tìm ra lỗi là gì.
Tôi không hiểu tại sao cùng một tuyên bố 'pool.map' không hoạt động, khi nó đã hoạt động ở trên. Tôi nghĩ rằng tôi đã thực hiện 'bản đồ hồ bơi' một cách chính xác nhưng tôi không hiểu lý do.
là lỗi này liên quan tới "PicklingError: Không thể dưa: tra cứu thuộc tính BUILTIN .function Thất bại"
Ai đó có thể giúp tôi không?
Cảm ơn
'multiprocessing.Pool()' không hoạt động trong trình thông dịch tương tác. Kiểm tra tài liệu [tại đây] (http://docs.python.org/library/multiprocessing.html) –
'multiprocess.Pool()' tuy nhiên không hoạt động trong trình thông dịch tương tác. –