123456789101112131415161718192021222324252627282930313233343536373839 |
- 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)
|