@@ -7295,22 +7295,27 @@ def test_update_type_cache(self):
72957295 """ )
72967296 script_helper .assert_python_ok ('-c' , script )
72977297
7298- @support .skip_if_pgo_task
72997298 @unittest .skipIf (_interpreters is None , "missing _interpreters module" )
73007299 def test_static_type_concurrent_init_fini (self ):
73017300 # gh-136421
73027301 script = textwrap .dedent ("""
7303- from concurrent.futures import InterpreterPoolExecutor
7304- def func():
7305- import _datetime
7306- print('a', end='')
7307- with InterpreterPoolExecutor(max_workers=10) as executor:
7308- for _ in range(10):
7309- executor.submit(func)
7310- """ )
7311- res = script_helper .assert_python_ok ("-c" , script )
7312- self .assertEqual (res .out , b'a' * 10 )
7313- self .assertEqual (res .err , b'' )
7302+ import threading
7303+ import _interpreters
7304+
7305+ def run(id):
7306+ _interpreters.exec(id, "import _datetime; print('a', end='')")
7307+ _interpreters.destroy(id)
7308+
7309+ ids = [_interpreters.create() for i in range(10)]
7310+ ts = [threading.Thread(target=run, args=(id,)) for id in ids]
7311+ for t in ts:
7312+ t.start()
7313+ for t in ts:
7314+ t.join()
7315+ """ )
7316+ _ , out , err = script_helper .assert_python_ok ('-c' , script )
7317+ self .assertEqual (out , b'a' * 10 )
7318+ self .assertEqual (err , b'' )
73147319
73157320
73167321def load_tests (loader , standard_tests , pattern ):
0 commit comments