ได้ลองไปเล่น Thread ใน Ruby มา เป็นเหมือนกับการกระจายงานออกเป็นส่วนต่างกันทำซึ่งจะต้องควบคุมให้ทำงาน ถูกต้อง
Thread
T=Thread.new{ instruction}
instruction เช่น print "a"
method "join" => เมื่อมีการประกาศ thread ที่ไม่ได้มีการประกาศ join ,threads นั้นจะ ถูก ตัดไป ตอนเริ่มMain Program ในการเรียกใช้ Thread จะมีการ ระงับการ execute และจะไม่return ค่าจนกว่า threads นั้นจะสิ้นสุด หรือ เวลาในการเรียกใช้ thread จะหมด หรือ มีการ return ค่า
proof
t=Thread.new{puts "a"} // "a"
t=Thread.new{puts "a";sleep(5) } // "a" หยุดเลย
แต่ถ้า
t=Thread.new{puts "a" sleep(5)} //"a " 5วิ หยุด
t.join
t=Thread.new{puts "a" sleep(5)} //"a " 5วิ หยุด รอจนครบ 10 วิเนื่องจาก มีการ กำหนด เวลาให้ thread
t.join(10)
ex...
t1=Thread.new{5.times{sleep(0.2);print "world"}}
puts "hello" until t1.join(10)
so...
T.join
T.join(limit) //limit คือเวลาหน่วยวินาที
ไม่มีความคิดเห็น:
แสดงความคิดเห็น