-
线程创建的两种方式
继承Thread类:
class MyThread extends Thread{
public void run(){
'''''''''
}
}
MyThread mt = new MyThread(); //创建线程
mt.,start(); //启动线程
查看全部 -
实现runnable方法创建线程,可以多个线程类Thread创建实例都以同一个runnable实现类作构造参数。适用于多个线程处理同一个共享资源。
查看全部 -
Runnable 除了避免单继承的缺陷,Runnable 的代码可以被多个线程共享
适用于多线程处理同一资源的情况
查看全部 -
三、守护线程
1、用户线程——运行在前台,执行具体的任务
程序的主线程、连接网络的子线程等都是用户线程
2、守护线程——运行在后台,为其它线程服务
特点:当所有的用户线程都结束运行,守护线程会随JVM一起结束工作
应用:数据库连接池中的检测线程
JVM虚拟机启动后的监测线程
最常见的守护线程:垃圾回收线程
3、可以通过调用Thread类的setDaemon(true)方法,设置当前线程为守护线程。注意:
a)该方法必须在start()方法之前调用,否则会抛出IllegalThreadStateException异常。
b)在守护线程中产生的新线程也是守护线程。
c)不是所有的任务都可以分配给守护线程来执行,比如读写操作或者计算逻辑。
查看全部 -
1、创建:新建一个线程对象,如Thread thd = new Thread()
2、就绪:创建了线程对象后,调用了线程的start()方法(注意:此时线程只是进入了线程队列,等待获取CPU服务,具备了运行的条件,但并不一定已经开始运行了)
3、运行:处于就绪状态的线程,一旦获取了CPU资源,便进入到运行状态,开始执行run()方法里面的逻辑
4、终止:线程的run()方法执行完毕,或者调用线程的stop()方法(该方法已经废弃),线程便进入终止状态
5、阻塞:一个正在执行的线程在某种情况下,由于某种原因而暂时让出了CPU资源,暂停了自己的执行,便进入了阻塞状态,如调用了sleep()、wait()、yield()等方法
查看全部 -
创建->就绪->运行->终止
阻塞
查看全部 -
设置守护线程的注意事项
查看全部 -
设置守护线程
查看全部 -
Java线程:守护线程
查看全部 -
Java线程:用户线程
查看全部 -
线程的生命周期
查看全部 -
两种创建多线程的方式比较
查看全部 -
创建线程的方式
查看全部 -
课程学习目标
查看全部 -
Thread lifetime
查看全部
举报