1
我試圖寫單元測試的鎖定對象,這樣multiprocess.Pool和單元測試類方法的工作與python3.4
import time
import unittest
from multiprocessing import Pool
class LockTestCase(unittest.TestCase):
def f(self, x):
time.sleep(1)
def test_lock(self):
p = Pool(2)
p.map(self.f, (1, 1, 1))
unittest.main()
如何讓我們保持f
在TestCase類,它的工作原理與python3.3 ,但與python3.4工作,它出來
File "/usr/lib/python3.4/multiprocessing/pool.py", line 260, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/usr/lib/python3.4/multiprocessing/pool.py", line 599, in get
raise self._value
File "/usr/lib/python3.4/multiprocessing/pool.py", line 383, in _handle_tasks
put(task)
File "/usr/lib/python3.4/multiprocessing/connection.py", line 206, in send
self._send_bytes(ForkingPickler.dumps(obj))
File "/usr/lib/python3.4/multiprocessing/reduction.py", line 50, in dumps
cls(buf, protocol).dump(obj)
TypeError: cannot serialize '_io.TextIOWrapper' object
那麼,如何類方法f
在游泳池中python3.4作品?
謝謝