17db96d56Sopenharmony_ciimport multiprocessing 27db96d56Sopenharmony_ciimport random 37db96d56Sopenharmony_ciimport sys 47db96d56Sopenharmony_ciimport time 57db96d56Sopenharmony_ci 67db96d56Sopenharmony_cidef fill_queue(queue, code): 77db96d56Sopenharmony_ci queue.put(code) 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ci 107db96d56Sopenharmony_cidef drain_queue(queue, code): 117db96d56Sopenharmony_ci if code != queue.get(): 127db96d56Sopenharmony_ci sys.exit(1) 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_cidef test_func(): 167db96d56Sopenharmony_ci code = random.randrange(0, 1000) 177db96d56Sopenharmony_ci queue = multiprocessing.Queue() 187db96d56Sopenharmony_ci fill_pool = multiprocessing.Process( 197db96d56Sopenharmony_ci target=fill_queue, 207db96d56Sopenharmony_ci args=(queue, code) 217db96d56Sopenharmony_ci ) 227db96d56Sopenharmony_ci drain_pool = multiprocessing.Process( 237db96d56Sopenharmony_ci target=drain_queue, 247db96d56Sopenharmony_ci args=(queue, code) 257db96d56Sopenharmony_ci ) 267db96d56Sopenharmony_ci drain_pool.start() 277db96d56Sopenharmony_ci fill_pool.start() 287db96d56Sopenharmony_ci fill_pool.join() 297db96d56Sopenharmony_ci drain_pool.join() 307db96d56Sopenharmony_ci 317db96d56Sopenharmony_ci 327db96d56Sopenharmony_cidef main(): 337db96d56Sopenharmony_ci test_pool = multiprocessing.Process(target=test_func) 347db96d56Sopenharmony_ci test_pool.start() 357db96d56Sopenharmony_ci test_pool.join() 367db96d56Sopenharmony_ci sys.exit(test_pool.exitcode) 377db96d56Sopenharmony_ci 387db96d56Sopenharmony_ci 397db96d56Sopenharmony_ciif __name__ == "__main__": 407db96d56Sopenharmony_ci main() 41