目录

1. 线程方法

2. 用户线程和守护线程

3. 线程的生命周期

4. 线程同步机制


1. 线程方法

1.1 yield:线程的礼让,让出cpu,让其他线程执行,但礼让的时间不确定,所以也不一定礼让成功。

1.2 join:线程的插队。插队的线程一旦插队成功,则肯定先执行完插入的线程所有的任务。


2. 用户线程和守护线程

1. 用户线程:也叫工作线程,当线程的任务执行完成或通知方式结束

2. 守护线程:一般是为工作线程服务的,当所有的用户线程结束,守护线程自动结束

3. 常见的守护线程:垃圾回收机制


3. 线程的生命周期

1. 线程状态

            NEW:尚未启动的线程处于此状态

            RUNNABLE:在java虚拟机中执行的线程

            BLOCKED: 被阻塞等待监视器锁定的线程

            WAITING: 正在等待另一个线程执行特定动作的线程

            TIMED_WAITING : 正在等待另一个线程执行动作达到指定等待时间的线程

            TERMINATED :已退出的线程


4. 线程同步机制

1. 在多线程编制,一些敏感数据不允许被多个线程同时访问,此时就使用同步访问技术,保证数据在任何同一时刻,最多有一个线程访问,以保证数据的完整性

2. 具体方法 - Synchronized

1.1 同步代码块

          synchronized(对象){ //得到对象的锁,才能操作同步代码

                    //需要被同步的代码

}

1.2 synchronized还可以放在方法声明中,表示整个方法-同步为方法  

           public  synchronized void m (String name){

                  //需要被同步的代码

}

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐