我是python的新手,我的问题是: 我读取了一个二进制文件,其中包含未知数量的720X1280像素的图像。对于我阅读的每个图像,我都在那里寻找像素,并且需要保存我找到的像素的行和列。 我想使用用于解决该问题的进程,比如说cpu_num = 8,因此,有7个进程读取图像,有1个进程将结果写入文本文件。
那是我写的,但是当我在PyScripter中运行它时却冻结了:
def SearchProcess(图片,pic_num,check_q,res_q,queue_lock): ......
res = [pic_num, pixel_row, pixel_col]
while True:
time.sleep(0.1)
if pic_num == check_q.qsize():
queue_lock.acquire()
res_q.put(res)
queue_lock.release()
check_q.put(0)
break
def Write2File(res_q,f_num):
comm_f = open("commands_" + f_num + ".txt", "w")
while(1):
temp = res_q.get()
comm_f.write(something..)
res_q.task_done()
并且该过程从main开始: main processes declaration
当我尝试运行它时,冻结的原因是什么?如果我不希望它启动无数个进程,但是一次只能完成8个进程,那么我应该如何在主进程中编写该进程的声明?可以开始另一个,直到图像结束。