mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			825 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			825 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import os
 | |
| import sys
 | |
| import threading
 | |
| import traceback
 | |
| 
 | |
| 
 | |
| NLOOPS = 50
 | |
| NTHREADS = 30
 | |
| 
 | |
| 
 | |
| def t1():
 | |
|     try:
 | |
|         from concurrent.futures import ThreadPoolExecutor
 | |
|     except Exception:
 | |
|         traceback.print_exc()
 | |
|         os._exit(1)
 | |
| 
 | |
| def t2():
 | |
|     try:
 | |
|         from concurrent.futures.thread import ThreadPoolExecutor
 | |
|     except Exception:
 | |
|         traceback.print_exc()
 | |
|         os._exit(1)
 | |
| 
 | |
| def main():
 | |
|     for j in range(NLOOPS):
 | |
|         threads = []
 | |
|         for i in range(NTHREADS):
 | |
|             threads.append(threading.Thread(target=t2 if i % 1 else t1))
 | |
|         for thread in threads:
 | |
|             thread.start()
 | |
|         for thread in threads:
 | |
|             thread.join()
 | |
|         sys.modules.pop('concurrent.futures', None)
 | |
|         sys.modules.pop('concurrent.futures.thread', None)
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     main()
 | 
