线程生命周期 线程有其优先权,由1 (Thread. MIN PRIORITY)10 (Thread. MAX PRIORITY 优先权越高’排班器越优先排入执行’如 果优先权相同,则输流执行( Round- robin 方式)
线程生命周期 • 线程有其优先权,由1 (Thread.MIN_PRIORITY)到10 (Thread.MAX_PRIORITY) • 优先权越高,排班器越优先排入执行,如 果优先权相同,则输流执行(Round-robin 方式)
线程生命周期 如果您想要让目前线程礼让一下其它线程 让它们有机会取得执行权,您可以呼叫绪 行绪的 yield方法 Threadthread new Thread (new Runnable()i public void run()t while(true) i // yield();//暂时让出执行权 thread. startoi //
线程生命周期 • 如果您想要让目前线程礼让一下其它线程, 让它们有机会取得执行权,您可以呼叫绪 行绪的yield()方法 // ..... Thread thread = new Thread(new Runnable() { public void run() { // .... while(true) { // .... yield(); //暂时让出执行权 } } }); thread.start(); //
线程生命周期 有几种状况会让线程进入B| ocked状态 等待输人输出完成 一呼叫seep0方法 尝试取得对象锁定 一呼叫Wa0方法
线程生命周期 • 有几种状况会让线程进入Blocked状态 – 等待输入输出完成 – 呼叫sleep()方法 – 尝试取得对象锁定 – 呼叫wait()方法
线程生命周期 线程回到 rUnnable状态的几个对应情况让 进入 Blocked状态,以下的 输人输出完成 呼叫 interrupt 取得对象锁定 呼叫 notify0或 notityAllo
线程生命周期 • 进入Blocked状态,以下的几个对应情况让 线程回到Runnable状态 – 输入输出完成 – 呼叫interrupt() – 取得对象锁定 – 呼叫notify()或notifyAll()
线程生命周期 Thread thread new Thread (new runnable()i public void run() try t //暂停99999毫秒 Thread. sleep (99999) catch(InterruptedException e) i System. out. println ("I'm interrupted!! thread. start(i thread interrupt()i// interrupt it right now
线程生命周期 Thread thread = new Thread(new Runnable() { public void run() { try { //暂停99999毫秒 Thread.sleep(99999); } catch(InterruptedException e) { System.out.println("I'm interrupted!!"); } } }); thread.start(); thread.interrupt(); // interrupt it right now