ความแตกต่างระหว่าง Sleep and Wait ความแตกต่างระหว่าง

Anonim

นอนหลับหรือรอ

เครื่องเช่น เนื่องจากคอมพิวเตอร์ใช้ภาษาเทียมเพื่อสร้างโปรแกรมควบคุมและอนุญาตให้พวกเขาสื่อสารคำแนะนำและขั้นตอนวิธีแบบด่วน ภาษานี้เรียกว่าภาษาเขียนโปรแกรม

ก่อนการถือกำเนิดของคอมพิวเตอร์ภาษาโปรแกรมได้ถูกใช้ในทอร์และเปียโนแล้ว ขณะที่การใช้คอมพิวเตอร์กลายเป็นเรื่องปกติมากขึ้นขณะนี้มีภาษาโปรแกรมหลายภาษาที่ใช้อยู่

มีภาษาคอมพิวเตอร์หลายภาษารวมทั้งภาษาระดับสูงเช่น BASIC, C, C ++, Fortran, Pascal และ Java แต่ละเครื่องเสมือนและ CPU มีภาษาคอมพิวเตอร์ของตัวเองซึ่งแต่ละจุดมีจุดอ่อนและจุดแข็งของตัวเองและทุกเครื่องเสมือนจะเรียกใช้เธรดเมื่อเริ่มต้น เธรดนี้รันรหัสแอ็พพลิเคชันในโปรแกรม มันสามารถทำให้โปรแกรมทำงานได้เร็วขึ้นและช่วยในการปฏิบัติงานและประโยชน์ของพวกเขาโดยเฉพาะเมื่อใช้หลายหัวข้อ

เครื่องเสมือนเช่นเครื่องเสมือน Java รองรับแนวคิดแบบมัลติเธรดที่มีเธรดที่มีลำดับความสำคัญสูงกว่าที่มีการประมวลผลก่อนเหนือหัวข้อที่มีลำดับความสำคัญต่ำกว่าเพื่อให้มั่นใจได้ว่าจะได้รับการประมวลผลตามเวลาที่เหมาะสม

ใช้วิธีการจัดการเธรดที่สามารถสร้างควบคุมและยุติการควบคุมหรือเธรดในพื้นที่ที่ใช้ร่วมกัน สองวิธีการจัดการเธรดเหล่านี้คือรอและวิธีการนอนหลับ

ทั้งสองวิธีแยกกัน วิธีการสลีปควบคุมการทำงานของเธรดและทำให้การทำงานถัดไปล่าช้าขณะที่เมธอดรอไม่สามารถควบคุมการทำงานของเธรดเพื่อให้เธรดอื่น ๆ ทำงานได้

วิธีการรอคอยกำหนดไว้ในคลาส Object และส่งเธรดปัจจุบันไปยังสถานะที่ไม่สามารถ run ได้ จะใช้ร่วมกับการแจ้งเตือนและ notifyAll วิธีการที่จะให้รหัสการดำเนินการของวัตถุหยุดชั่วคราวและเพื่อดำเนินการต่อในภายหลัง

ทำงานโดยการเรียกวัตถุล็อกและให้เธรดปัจจุบันทำข้อมูลให้ตรงกัน รอจะปล่อยล็อกและจะใส่เธรดในรายการรอและให้เธรดอื่น ๆ ทำข้อมูลให้ตรงกับที่ทำให้เธรดเดิมตื่นขึ้น โปรแกรมเมอร์จะกำหนดเวลาที่กำหนดเมื่อการดำเนินการเริ่มขึ้นอีกครั้ง

วิธีการนอนหลับในทางกลับกันถูกกำหนดให้เป็นวิธีแบบคงที่ มันล่าช้าการดำเนินการของเธรดและไม่วัตถุรวมทั้งระงับด้ายที่กำลังดำเนินการ จะส่งเธรดปัจจุบันไปยังสถานะที่ไม่สามารถใช้งานได้เป็นระยะเวลาหนึ่ง อาจส่งผลต่อพฤติกรรมของแอ็พพลิเคชันที่มีหลายเธรดเนื่องจากจะทำให้การซิงโครไนซ์ล็อกของเธรดปัจจุบัน เมื่อเธรดอยู่ในบล็อคที่ซิงโครไนซ์ไม่มีเธรดอื่นใดสามารถใส่บล็อกได้

สรุป:

1. "Sleep" เป็นวิธีการจัดการเธรดที่กำหนดให้เป็นวิธีแบบคงที่ขณะที่ "wait" เป็นวิธีการจัดการเธรดที่กำหนดไว้ในคลาส Object

2 การสลีปคือวิธีที่รันเธรดในขณะที่รอคือเมธอดที่รันอ็อบเจ็กต์

3 การนอนหลับช่วยให้ล็อคการซิงโครไนซ์ของเธรดปัจจุบันและมีอิทธิพลต่อพฤติกรรมของแอปพลิเคชันในขณะที่รอไม่ได้

4 Sleep ควบคุมการทำงานของเธรดและไม่อนุญาตให้เธรดอื่นในบล็อคที่ซิงโครไนซ์ขณะที่รอไม่สามารถควบคุมการทำงานของเธรดเพื่อให้เธรดอื่น ๆ ทำงานได้