-
看得起摸不到查看全部
-
五种状态 new线程对象进入创建状态,调用start()方法进入就绪状态,获取CPU进入运行状态,run()方法执行完毕进入终止状态。 一个正在执行的线程在某种情况下,由于某种原因而暂时让出CPU资源,暂停了自己的执行,便进入阻塞状态,如调用sleep()方法。阻塞解除,进入就绪状态,开始轮回。查看全部
-
实现Runnable接口的好处查看全部
-
对比两种方法查看全部
-
第二种方法 实现Runnable接口查看全部
-
线程创建的第一种方法 继承Thread类查看全部
-
注意事项查看全部
-
用户线程: 守护线程:运行在后台,一旦所有用户线程结束,没有需要守护的线程了,会随JVM一起结束工作 应用:数据库连接池中监测线程 常见:垃圾回收线程 设置守护线程Thread.setDaemon(true)查看全部
-
阻塞状态 调用sleep方法查看全部
-
终止状态查看全部
-
运行状态查看全部
-
就绪状态查看全部
-
创建线程查看全部
-
线程生命周期查看全部
-
针对Thread和Runnable对于同一资源处理: class MyThread extends Thread{} class MyRunnable implements Runnable{} public static void main(String[] args){ MyThread t1 = new MyThread(); MyThread t2 = new MyThread(); MyThread t3 = new MyThread(); //注意:此时t1,t2,t3是堆内存中实例出的三个对象,对于它们所有属性也独立的 MyRunnable r = new MyRunnable(); Thread t1 = new Thread(r); Thread t2 = new Thread(r); Thread t3 = new Thread(r); //注意:t1,t2,t3虽然是堆中的三个不同对象,但是此时的r是一个,所以三个线程引用r中的资源也是共有的 } 由此可以看出:Runnable可以实现资源共享,而Thread资源独立查看全部
举报
0/150
提交
取消