import multiprocessing import os import sys import time sys.path.append(os.path.abspath(os.path.dirname(__file__)) + '/../') from format_convert.utils import file_lock def run(a): while True: try: time2 = time.time() lock_file_sub = 'ocr' lock_file = os.path.abspath(os.path.dirname(__file__)) + "/" + lock_file_sub + ".lock" f = file_lock(lock_file) print(os.getpid(),"get file_lock " + lock_file + " time ", time.time()-time2) time2 = time.time() time.sleep(2) raise print(os.getpid(), "sleep", time.time()-time2) except Exception: print('RuntimeError') finally: f.close() if __name__ == '__main__': # 要处理的数据 data = [1, 2, 3] # 创建进程池,指定进程数为 CPU 核心数 with multiprocessing.Pool(processes=3) as pool: # 使用 map 方法分配任务并获取结果 results = pool.map(run, data) # 输出结果 # print(results)