เพื่อให้โค้ดของฉันเป็น "ไพโธนิก" มากขึ้นและเร็วขึ้นฉันใช้ "มัลติโพรเซสเซอร์" และฟังก์ชันแผนที่เพื่อส่ง a) ฟังก์ชันและ b) ช่วงของการทำซ้ำ
โซลูชันที่ฝังไว้ (เช่นเรียก tqdm โดยตรงในช่วง tqdm.tqdm (ช่วง (0, 30)) ไม่ทำงานกับการประมวลผลหลายขั้นตอน (ตามสูตรในโค้ดด้านล่าง)
แถบความคืบหน้าจะแสดงตั้งแต่ 0 ถึง 100% (เมื่อ python อ่านรหัส?) แต่ไม่ได้ระบุความคืบหน้าจริงของฟังก์ชันแผนที่
จะแสดงแถบความคืบหน้าเพื่อระบุขั้นตอนที่ฟังก์ชัน 'แผนที่' เป็นอย่างไร?
from multiprocessing import Pool
import tqdm
import time
def _foo(my_number):
square = my_number * my_number
time.sleep(1)
return square
if __name__ == '__main__':
p = Pool(2)
r = p.map(_foo, tqdm.tqdm(range(0, 30)))
p.close()
p.join()
ยินดีให้ความช่วยเหลือหรือข้อเสนอแนะ ...