บทความนี้วิเคราะห์การใช้เธรดที่อยู่เฉยๆที่กำหนดโดยกระทู้ Java แบ่งปันสำหรับทุกคนสำหรับการอ้างอิงของคุณ การวิเคราะห์เฉพาะมีดังนี้:
การจัดตารางการใช้เธรด Java เป็นแกนกลางของ Java Multi -Threaded
เป็นที่ชัดเจนว่าไม่ว่าโปรแกรมเมอร์จะเขียนการตั้งเวลาได้อย่างไรมันสามารถส่งผลกระทบต่อลำดับการดำเนินการเธรดในระดับที่ยิ่งใหญ่ที่สุดและไม่สามารถควบคุมได้อย่างแม่นยำ
จุดประสงค์ของการพักตัวของเธรดคือการทำให้เธรดทำให้วิธีการที่ง่ายที่สุดของ CPU
วิธีการพักตัวของด้ายคือด้าย. sleep (มิลลิสยาว) และด้าย. sleep (ยาวมิลลิส, int nanos) ซึ่งทั้งสองอย่างเป็นวิธีคงที่ หากต้องการพูดง่ายๆว่าเธรดใดที่เรียกว่านอนหลับคุณสามารถนอนหลับได้
/ ** * กระทู้ java: เธรดการกำหนดตารางเวลา-dormant * @author Leizhimin 2009-11-4 9:02:40 */ การทดสอบคลาสสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {เธรด t1 = ใหม่ rea d1 (d1 (d1 (); เธรด t2 = เธรดใหม่ (ใหม่ myrunnable ()); ; i ++) {system.out.println ("เธรด 1" + i + "ถูกดำเนินการ!"); }}}}}}}}}}}} คลาสรูปภาพ myrunnable runnable {public void run () {for (int i = 0; i <3; + "การดำเนินการรอง!"); ลอง {เธรดผลลัพธ์มีดังนี้:
ประสิทธิภาพของเธรด 2! ระยะเวลาของด้าย 1! ประสิทธิภาพของเธรด 1 เป็นครั้งแรก! การดำเนินการครั้งแรกของเธรด 2! ประสิทธิภาพของเธรด 1 เป็นครั้งที่สอง! ระยะเวลาของเธรด 2! กระบวนการเสร็จสิ้นด้วยรหัสออก 0
จากผลลัพธ์ข้างต้นผลลัพธ์จะเห็นได้ว่าลำดับการดำเนินการเธรดไม่สามารถรับประกันได้อย่างถูกต้อง