摘要: 1、新建状态 Thread t1 = new Thread(); 创建之后,就已经有了相应的内存和其他资源,但是还是处于不可运行状态。2、就绪状态 当一个线程使用.start()启动之后就处于就绪状态,就会在队列中排队等待被调度。此时已经具备运行状态。3、运行状态 当一个就绪状态的线程被调度而且分配了CPU资源,就进入了运行状态。此时就会自动调用run()。4、阻塞状态 当一个对象调用了wait() suspend() sleep()方法,线程就会进入阻塞状态。阻塞时,是不进行排队的,直到导致产生阻塞的因素被消除之后,才会进行在队列中排队(就绪状态)。5、死亡状态 当一个线程对象调用... 阅读全文
posted @ 2013-10-14 21:34 平林新袖 阅读(197) 评论(0) 推荐(1) 编辑
摘要: 【通过继承Thread】 一个Thread对象只能创建一个线程,即使它调用多次的.start()也会只运行一个的线程。 【看下面的代码 & 输出结果】 1 package Test; 2 3 class CTest extends Thread { 4 private int tickte = 20; 5 6 public void run() { 7 while (true) { 8 if (tickte > 0) { 9 System.out.println(Thread.currentThre... 阅读全文
posted @ 2013-10-14 21:18 平林新袖 阅读(11933) 评论(0) 推荐(1) 编辑
摘要: 引读: 上一篇博文中讲了Thread的继承,存在一个问题就是,如果类本身已经继承了某个父类,又要继承Thread,导致多重继承。 【但是我们知道接口是实现多重继承的重要方式】。java提供了Runnable接口。该接口中的方法run(),来实现创建线程。 1 package Test; 2 3 class CTest implements Runnable{ 4 private String idString; 5 public CTest(String string ){ 6 idString = string; 7 } 8 public... 阅读全文
posted @ 2013-10-14 15:48 平林新袖 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 多线程,是java的特殊机制。所谓线程就是程序执行的流程。“多线程”就是可以在同一时刻能够执行多个程序块(注意,是程序块,而不是程序),这样一来就可以使得程序的执行速度大大增加。 1 package Test; 2 3 class CTest { 4 private String id; 5 public CTest(String str){ 6 id = str; 7 } 8 9 public void run(){10 for(int i = 0;i<4;i++){11 for(int j ... 阅读全文
posted @ 2013-10-14 15:40 平林新袖 阅读(255) 评论(0) 推荐(0) 编辑