วันเสาร์, มีนาคม 25, 2549

ความรักกับ Thread

ความรักกับ Thread มันก็คล้ายกันนั่นเหละ มันมี Critical Section และมีทั้ง Semaphore ไหนจะมี Mutex และอื่นๆ อีกมากมาย กาหจะเปรียบง่ายๆว่าความรักกับ Thread ขอยกตัวอย่างดังนี้ สมมติว่า เธอเป็นคนที่สวยงามมาก ทุกคนต้องการจะได้ตัวเธอ แต่การที่เธอจะคบใครนั้น มันก็คบได้แค่คนเดียว ฉนั้นตัวผู้หญิงก็เปรียบเสมือน Resource ที่แต่ละ Thread(ผู้ชายนั้น) นั้นต้องการ ซึ่งถ้าแต่ละ Thread ใช้ Resource นี้ร่วมกันมันก็อาจจะเกิดความผิดพลาดได้ นั่นก็คือการเกิด Critical Section .....เราอาจจะแก้ปัญหาได้โดยการให้เธอประกาศไปว่า เธอมีเจ้าของแล้วแบบนี้ก็อาจจะมองได้เป็นลักษณะของ Mutux หรืออีกตัวอย่าง ถ้าผู้ชายมีเมียน้อยหลายคน เปรียบผู้ชายเป็น Resource และเมียน้อยเป็น Thread แบบนี้ การที่ผู้ชายมีเมียได้หลายคนมันก็อาจจะเปรียบได้ในเรื่องของ Semaphore ..... และตัวอย่างสุดท้ายปัญหา Dinning และ Sleep Barber ถ้ายังจำได้ มองผู้หญิงเป็นปัญหาแบบเดียวกัน คือผู้ชายรักผู้หญิงคนนี้มากและจะรักตลอดไป มันก็คือ wait signal นั่นเหละ เมื่อไหร่ที่ผู้หญิงบอกรักผู้ชายมันก็คือ Send Signal ไป wake up process