import sys
import multiprocessing
import unittest
def multiply(x):
return x * x
@unittest.skipIf(sys.platform == "win32", "spawn method not supported")
class TestMultiprocessing(unittest.TestCase):
@classmethod
def setUpClass(cls):
sys.frozen = True
if sys.platform == "win32":
multiprocessing.set_start_method("spawn", force=True)
else:
multiprocessing.set_start_method("fork", force=True)
def test_pool(self):
with multiprocessing.Pool(4) as p:
p.map(multiply, range(1024))
with multiprocessing.Pool(4) as p:
p.map(multiply, range(1024))
if __name__ == "__main__":
unittest.main()