มหาวิทยาลัยโค้ดยิม
การเรียนรู้
คอร์ส
งาน
แบบสำรวจและแบบทดสอบ
เกม
ช่วย
กำหนดการ
ชุมชน
ผู้ใช้
ฟอรั่ม
แชท
บทความ
เรื่องราวความสำเร็จ
กิจกรรม
บทวิจารณ์
การสมัครรับข้อมูล
ธีมสว่าง
บทเรียน
บทวิจารณ์
เกี่ยวกับเรา
เริ่ม
เริ่มเรียนรู้
เริ่มเรียนรู้เลย
แผนที่เควส
บทเรียน
ภารกิจทั้งหมด
ทุกระดับ
กลยุทธ์ "รอแจ้งเตือนแจ้งเตือนทั้งหมด"
โมดูล 2: Java Core
ระดับ ,
บทเรียน
“สวัสดี อามีโก้!” "ฉันต้องการเจาะลึกกับคุณเกี่ยวกับการแจ้งเตือนการรอ วิธีการแจ้งเตือนให้กลไกที่สะดวกสำหรับเธรดในการโต้ตอบ นอกจากนี้ยังสามารถใช้เพื่อสร้างกลไกระดับสูงที่ซับซ้อนสำหรับการโต้ตอบของเธรด" "ผมจะเริ่มต้นด้วยตัวอย่างเล็กๆ น้อยๆ สมมต
ความแตกต่างบางอย่าง
โมดูล 2: Java Core
ระดับ ,
บทเรียน
“สวัสดี อามีโก้!” "และรายละเอียดอีกสองสามข้อ เรียกมันว่าคำแนะนำที่ใช้ได้จริง" "สมมติว่าคุณมีวิธีการที่รออะไรบางอย่างและหลับไปจนกว่าเงื่อนไขจะพอใจ" หากคอลเลกชันว่างเปล่าเราจะรอ public synchronized Runnable getJob()
รายละเอียดอื่นๆ เกี่ยวกับการซิงโครไนซ์และมัลติเธรด
โมดูล 2: Java Core
ระดับ ,
บทเรียน
“สวัสดี อามีโก้!” "มีหัวข้อใหญ่อยู่ข้างนอก นั่นคือ Java Memory Model โดยพื้นฐานแล้ว คุณไม่จำเป็นต้องรู้เกี่ยวกับเรื่องนี้ แต่การได้ยินเกี่ยวกับเรื่องนี้จะเป็นประโยชน์" "เพื่อขจัดปัญหาที่อาจเกิดขึ้นทั้งหมด Java ได้เปลี่ยนกลไกการจัดการหน่วยคว
ลิงก์ที่เป็นประโยชน์จากศาสตราจารย์ — 16
โมดูล 2: Java Core
ระดับ ,
บทเรียน
"สวัสดี Amigo! บอกฉันเกี่ยวกับความคืบหน้าของคุณ สัปดาห์นี้คุณเรียนอะไร" "Ellie, Rishi, Doctor Bilaabo และฉันคุยกันเรื่องมัลติเธรด ฉันได้เรียนรู้อะไรมากมาย!" "เพื่อนรักของฉัน ฉันคิดว่าฉันมีอะไรจะขยายความเข้าใจของคุณ ทฤษฎีเพิ่มเติมจะช่วยให้คุ
กลุ่มเธรด
โมดูล 2: Java Core
ระดับ ,
บทเรียน
“สวัสดี อามีโก้!” "เราจะเริ่มสำรวจเธรดอย่างละเอียดมากขึ้น" "แนวคิดของกลุ่มเธรดถูกนำมาใช้เพื่อป้องกันไม่ให้เธรดหยุดทำงานซ้ำๆ และขัดจังหวะทุกๆ เธรดอื่นๆ เธรดสามารถส่งผลกระทบต่อเธรดอื่นๆ ในกลุ่มเธรดเดียวกันเท่านั้น ThreadGroup เป็นคลาสสำหรับจั
ลำดับความสำคัญของเธรด
โมดูล 2: Java Core
ระดับ ,
บทเรียน
"เรามาเริ่มบทเรียนกันต่อ อะไรคือลำดับความสำคัญของเธรดและเหตุใดจึงจำเป็น "ในปัญหาในโลกแห่งความเป็นจริง ความสำคัญของงานที่ดำเนินการโดยเธรดที่แตกต่างกันอาจแตกต่างกันอย่างมาก แนวคิดของลำดับความสำคัญของเธรดถูกสร้างขึ้นเพื่อควบคุมกระบวนการนี้ แต่
รูปแบบวิธีการของโรงงาน
โมดูล 2: Java Core
ระดับ ,
บทเรียน
ณ จุดนี้ คุณคงเคยเจอรูปแบบการออกแบบแล้ว ตัวอย่างเช่นซิงเกิลตัน . ลองนึกดูว่ารูปแบบคืออะไร เหตุใดจึงต้องใช้ และรูปแบบที่สร้างสรรค์คืออะไร (ตัวอย่างจากซิงเกิล) นอกจากนี้ เราจะศึกษารูปแบบใหม่: วิธีการจากโรงงาน ในการพัฒนาซอฟต์แวร์รูปแบบการออกแบ
โทรได้และอนาคต
โมดูล 2: Java Core
ระดับ ,
บทเรียน
ปัญหาที่รันได้ คุณคุ้นเคยกับ อินเทอร์เฟซ ที่รันได้และคลาสเธรดที่ใช้งานแล้ว จำหน้าตาของอินเทอร์เฟซนี้: public interface Runnable {
อินเทอร์เฟซ ExecutorService
โมดูล 2: Java Core
ระดับ ,
บทเรียน
เหตุใดคุณจึงต้องการส่วนต่อประสานผู้ดำเนินการ ก่อน Java 5 คุณต้องเขียนการจัดการเธรดโค้ดของคุณเองในแอปพลิเคชันของคุณ นอกจากนี้ยังสร้างหัวข้อใหม่ออบเจกต์เป็นการดำเนินการที่ใช้ทรัพยากรมาก และไม่สมเหตุสมผลที่จะสร้างเธรดใหม่สำหรับทุกงานที่มีน้ำหน
หยุด ExecutorService
โมดูล 2: Java Core
ระดับ ,
บทเรียน
พิจารณาโปรแกรมง่ายๆ: public static void main(String[] args) throws Exception {
ThreadPoolExecutor
โมดูล 2: Java Core
ระดับ ,
บทเรียน
เมื่อพัฒนาแอปพลิเคชันแบบมัลติเธรด เรามักจะต้องจัดการกับการจัดระเบียบการทำงานของเธรด ยิ่งแอปพลิเคชันของเรามีขนาดใหญ่ขึ้นและจำนวนเธรดที่เราต้องการสำหรับงานแบบมัลติเธรดก็ยิ่งมากขึ้นเท่านั้นเรียกใช้ได้วัตถุที่เราสร้างขึ้น ควรสังเกตว่าการสร้างเธ
วิธีการ newSingleThreadExecutor
โมดูล 2: Java Core
ระดับ ,
บทเรียน
เหตุใดคุณจึงต้องการ ExecutorService สำหรับ 1 เธรด คุณสามารถใช้ เมธอด Executors.newSingleThreadExecutorเพื่อสร้างExecutorServiceด้วยพูลที่มีเธรดเดียว ตรรกะของพูลเป็นดังนี้: บริการดำเนินการครั้งละหนึ่งงานเท่านั้น หากเราส่งงาน N งานเพื่อดำเนิน
แสดงมากขึ้น
1
...
18
19
20
21
22
...
35
Please enable JavaScript to continue using this application.