2025 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2025-01-22 17:42
เบื้องหลังความคิดทั้งหมด ขนาน . แต่ละ () คือคุณมีชุดของเธรดและแต่ละเธรดประมวลผลส่วนหนึ่งของคอลเล็กชัน อย่างที่คุณสังเกตเห็น วิธีนี้ใช้ไม่ได้กับ async - await ที่คุณต้องการปล่อยเธรดในช่วงระยะเวลาของ async เรียก. แต่ละ () ซึ่งรองรับ อะซิงโครนัส งานได้เป็นอย่างดี
เกี่ยวกับเรื่องนี้ คุณจะรอให้ Parallel foreach เสร็จได้อย่างไร?
ไม่ต้องทำอะไรเป็นพิเศษ ขนาน . แต่ละ () จะ รอ จนกระทั่งงานแตกแขนงออกมาทั้งหมด เสร็จสิ้น . จากเธรดการเรียก คุณสามารถถือว่ามันเป็นคำสั่งซิงโครนัสเดียว และตัวอย่างเช่น ห่อภายใน try/catch คุณไม่ต้องการสิ่งนั้นด้วย ขนาน.
ในทำนองเดียวกัน foreach เป็นแบบอะซิงโครนัสหรือไม่? มันไม่ใช่ อะซิงโครนัส . มันกำลังปิดกั้น ผู้ที่เรียนรู้ภาษาเช่น Java, C หรือ Python เป็นครั้งแรกก่อนที่จะลองใช้ JS จะสับสนเมื่อพยายามทำให้ล่าช้าโดยพลการหรือการเรียก API ในเนื้อหาลูป
นอกจากนี้ คุณจะทำต่อใน foreach แบบคู่ขนานได้อย่างไร?
เมื่อคุณแปลงลูปของคุณเป็นคำจำกัดความที่เข้ากันได้สำหรับ ขนาน . แต่ละ ตรรกะ คุณลงเอยด้วยการทำให้เนื้อความของคำสั่งเป็นแลมบ์ดา นั่นคือการกระทำที่เรียกโดย ขนาน การทำงาน. ดังนั้นแทนที่ ดำเนินต่อ ด้วย return และ break ด้วยคำสั่ง Stop() หรือ Break()
งาน WhenAll ขนานกันหรือไม่
การประยุกต์ใช้ เมื่อทั้งหมด ส่งคืนเดียว งาน ที่ยังไม่ครบจนกว่าทุก งาน ในคอลเลกชันเสร็จสมบูรณ์ NS งาน ดูเหมือนจะวิ่งเข้า ขนาน แต่ไม่มีการสร้างเธรดเพิ่มเติม NS งาน สามารถดำเนินการในลำดับใดก็ได้
แนะนำ:
ฉันสามารถใช้ await โดยไม่มี async ได้หรือไม่?
ไม่ ตัวดำเนินการ await เหมาะสมในฟังก์ชัน async เท่านั้น
Async กำลังรอ JavaScript คืออะไร?
โดยสรุป async/await เป็นไวยากรณ์ที่สะอาดกว่าในการเขียนโค้ด Javascript แบบอะซิงโครนัส ช่วยเพิ่มความสามารถในการอ่านและการไหลของโค้ดของคุณ สิ่งที่ควรทราบขณะใช้ async/await: ฟังก์ชัน Async ส่งคืนคำสัญญา สามารถใช้ Await ได้ภายในบล็อก async เท่านั้น
สคริปต์ async เลื่อนคืออะไร?
ความแตกต่างระหว่าง async และ defer จะอยู่ที่ศูนย์กลางเมื่อมีการเรียกใช้สคริปต์ สคริปต์ async แต่ละตัวจะทำงานในโอกาสแรกหลังจากดาวน์โหลดเสร็จและก่อนเหตุการณ์โหลดของหน้าต่าง ในขณะที่สคริปต์การเลื่อนเวลารับประกันว่าจะดำเนินการตามลำดับที่เกิดขึ้นในหน้า
คุณใช้ Parallel ใน Python อย่างไร?
ใน python โมดูลมัลติโพรเซสซิงใช้เพื่อรันโปรเซสคู่ขนานที่เป็นอิสระโดยใช้โปรเซสย่อย (แทนที่จะเป็นเธรด) ช่วยให้คุณสามารถใช้ประโยชน์จากโปรเซสเซอร์หลายตัวบนเครื่อง (ทั้ง Windows และ Unix) ซึ่งหมายความว่ากระบวนการสามารถทำงานในตำแหน่งหน่วยความจำที่แยกจากกันโดยสิ้นเชิง
เหตุใดจึงต้องใช้ async รอคอยใน JavaScript
ฟังก์ชัน async ใช้ Promise โดยปริยายเพื่อส่งคืนผลลัพธ์ แม้ว่าคุณจะไม่ส่งคืนสัญญาที่มีฟังก์ชัน async อย่างชัดเจน คุณก็มั่นใจได้ว่าโค้ดของคุณจะถูกส่งผ่านสัญญา await บล็อกการเรียกใช้โค้ดภายในฟังก์ชัน async ซึ่งมัน (รอคำสั่ง) เป็นส่วนหนึ่ง รอคอยอยู่เสมอสำหรับสัญญาเดียว