多线程并发编程

1.线程和进程的概念

进程是一个执行的程序,进程里面有多个线程,线程是进程中负责执行的程序的一执行单元,线程自己是依靠程序进行运行的,线程是程序中一个顺序控制流。
线程分为单线程和多线程。 多线程能更好利用cpu资源。
之前单进程的,时间片切换多线程

多线程实现方式: 继承thread,实现runnable。
ExecutorService
CallableFuture 带返回值的多线程,方法执行完给一个返回值。线程

2. 多线程的生命周期

初始状态 -- 可运行状态 -- 运行中 -- 结束继承

运行中经过yield或时间片轮询变成可运行状态生命周期

运行中 经过synchronized变成锁定状态
运行中经过wait 进入等待队列
等待队列经过notify notifyall wait时间执行完 等唤醒一个锁定状态的线程,拿到锁的标记,进入可运行状态队列

运行中经过sleep,join让当前进程进入阻塞状态
阻塞状态经过sleep结束,join线程执行完变成可运行状态进程

相关文章
相关标签/搜索