标签:rac print 方法 [] package div alt 原因 stack
一、线程的基本概念:
package com.cy.thread; public class TestThread1 { public static void main(String[] args) { Runner1 r = new Runner1(); Thread t = new Thread(r); //启动一个线程,线程启动必须调用Thread类的start()方法 //start方法会通知cpu,我现在有个新线程了啊,已经准备好了,您老人家什么时候有时间赶紧给我点时间片。 t.start(); for(int i=0; i<100; i++){ System.out.println("Main Thread:----- " + i); } } } /** * 实现了Runnable之后,jdk就知道了,这是一个线程类。 */ class Runner1 implements Runnable{ @Override public void run() { for(int i=0; i<100; i++){ System.out.println("Runner1: " + i); } } }
console:
package com.cy.thread; public class TestThread1 { public static void main(String[] args) { Runner1 r = new Runner1(); r.start(); for(int i=0; i<100; i++){ System.out.println("Main Thread:----- " + i); } } } class Runner1 extends Thread{ @Override public void run() { for(int i=0; i<100; i++){ System.out.println("Runner1: " + i); } } }
isAlive(): 判断线程是否还活着,即线程是否还未终止;就绪、运行、阻塞叫活着。终止了就死了。线程创建完还没启动那也是死的。
getPriority() 获得线程的优先级数值;优先级越高的线程获得的cpu执行的时间越多。
setPriority() 设置线程的优先级数值;
Thread.sleep() 将当前线程睡眠指定毫秒数。
join() 合并某个线程。
yield() 高风亮节,让出cpu,让其他的线程执行,而自己进入就绪状态。
wait() 当前线程进入对象的wait pool;
notify、notifyAll() 唤醒对象的wait pool中的一个/所有等待线程。
五、sleep方法:
package com.cy.thread; import java.util.Date; public class TestInterrupt { public static void main(String[] args) { MyThread thread = new MyThread(); thread.start(); try { /** * 在哪个线程里面调用sleep方法,就让哪个线程睡眠。 */ Thread.sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } /** * interrupt()方法:thread线程在睡眠的时候,将它打断。 * 这里为了例子演示,让子线程结束。 * 但这不是让子线程结束的最好方法。 */ thread.interrupt(); } } class MyThread extends Thread{ @Override public void run() { while(true){ System.out.println("==="+new Date()+"==="); try { sleep(1000); } catch (InterruptedException e) { return; } } } }
console打印:
/** * 提供一个让线程结束的方法: * thread.flag = false; run()方法就不再执行了,run方法一结束,线程就结束了。 */ class MyThread2 extends Thread{ boolean flag = true; @Override public void run() { while(flag){ System.out.println("==="+new Date()+"==="); try { sleep(1000); } catch (InterruptedException e) { return; } } } }
标签:rac print 方法 [] package div alt 原因 stack
原文地址:http://www.cnblogs.com/tenWood/p/7113189.html