标签:tar lov iot raii ace 方法 异常 read uac
一:线程与进程
1. 进程 :是一个正在执行中的程序,每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元;
2.线程 : 进程的一个独立控制单元,进程不共享数据,线程可以共享数据
3多线程:使用并发原理,是多个线程呈现出共同运行的情况
二:线程的生命周期
1.新建:从线程被建立到使用start()之间的过程
2.就绪:线程通过start方法之后进入就绪状态,等待JVM进行资源调度
3.运行:就绪状态的线程得到资源后就可以进行run方法,运行状态的线程可以变为就绪,死亡,阻塞三种状态
4.阻塞/等待:运行中的线程使用sleep方法后,会释放所有资源,并且进入阻塞状态等待资源的再次分配。
5.终止/死亡:当线程完成时,或者触发其他终止条件时,线程会终止,并且释放所有资源
三:线程的创建
1.继承Thread类实现
2.通过Runable接口实现
四、Thread实现
1.首先Thread的实现也是通过接入Runnable接口
2.实现方法,方法继承Thread
3.Thread自带的方法,start()方法,sleep()方法
五、Runnale(就绪)实现
1.实现方法,接入Runnable接口
2.sleep() start()等方法需要通过强转为Thread方法才可以使用,不过sleep静态方法,可以直接
Thread.sleep()直接调用。
3.Runnable接口本体只有一个抽象run方法
六、常见线程方法
1.sleep():与object中的wait方法,使线程进入阻塞状态(即在指定时间内不会进入就绪状态)
阻塞结束后,线程进入就绪状态
2.yield():线程释放当前资源,进入就绪状态,与其他就绪线程一起抢夺资源。作用一般是给同
等优先级的线程共同执行的资格。与sleep不同,线程释放资源后,会马上进入就绪状态争夺
cpu资源。
3.join():调用某线程,且等待该线程执行完毕后才可以进行之前线程。
4.setProirity():设置线程的优先级
5:getPrority():获取线程的优先级
6:interruput():发出中断信号,如果存在死锁现象的线程收到信号后,会抛出异常,中断当前线程
7:start():
多线程(一)--线程的运行
标签:tar lov iot raii ace 方法 异常 read uac
原文地址:https://www.cnblogs.com/qqwhsj/p/10641734.html