进程
进程的定义:执行程序的一次执行过程,它是一个动态的概念,是系统资源分配的单位
线程的定义:一个进程至少有多个进程,线程是CPU调度和执行的单位(多个线程是模拟出来的,多个线程是多个内核就是多个CPU)
线程的创建
1. Thread
线程开始不一定立即执行由CPU调度
2.Runnable
3、总结
4、Callable
静态代理
Lambda表达式
- lambda只能简化一行代码才可以简化成一行,多行的情况下需要用代码快进行包裹
- 前提是接口是函数式接口
- 多个参数可以简化参数类型,要去掉就必须全部都去掉,之后加上括号
线程状态
线程的方法
停止线程
线程休眠
线程礼让
join
线程优先级
先设置优先级再启动
守护线程
gc(垃圾回收线程)是守护线程
main方法是用户
thread.setDaemon(true);//默认是false是用户线程,
线程同步机制(多个线程操作同一个资源)
并发:同一个对象被多个线程同时操作
同步方法及同步块
synchronized锁的是变化的量
默认锁的是当前的对象
死锁
Lock锁
Lock和Synchronized的区别
线程通信
线程池
使用sleep方法,线程进入sleep休眠状态不会释放锁
![fd7fada39e2c64b672ccfe27ef3c9c07.png](en-resource://database/512:1)
###### 1. Thread线程开始不一定立即执行由CPU调度![2021b0d0a9a89e592e2c699eb9a5f625.png](en-resource://database/514:1)###### 2.Runnable![6122ee822fe9bfcefa7f90070044eb4a.png](en-resource://database/516:1)###### 3、总结![54b56651f92d1dd7e5dc472cba2daa90.png](en-resource://database/518:1)###### 4、Callable![6c7b639707fe945828e25177fe5acb45.png](en-resource://database/520:1)## 静态代理![5daaf4e15cb99a6d25451ccd1e046ed4.png](en-resource://database/522:1)## Lambda表达式
1. lambda只能简化一行代码才可以简化成一行,多行的情况下需要用代码快进行包裹2. 前提是接口是函数式接口3. 多个参数可以简化参数类型,要去掉就必须全部都去掉,之后加上括号
![cb44c8bf40f9c8b7c740e9aa7d8e997c.png](en-resource://database/524:1)![0236a3e2cc695bf64210e6ae21479a6d.png](en-resource://database/526:1)![577b6a4bc402b74b517dab27e799d52f.png](en-resource://database/528:1)
## 线程状态![138a762383fbe98f1dcc2b4780698edc.png](en-resource://database/530:1)![549edbce1c899d220e3c0b5a42cb8011.png](en-resource://database/542:1)
### 线程的方法![9e917d1b6b6a8c22245081dd2359c4d0.png](en-resource://database/532:1)#### 停止线程![f4de0b27f65c00c7f828d743f5528aca.png](en-resource://database/534:1)#### 线程休眠![56e48d8ddad51cff1b46ceaf34ef6292.png](en-resource://database/536:1)
#### 线程礼让![d764fc93bc8098cedd3b2f5295f47a88.png](en-resource://database/538:1)#### join![543fa5f6ad36059d9e20d992bbb73962.png](en-resource://database/540:1)#### 线程优先级先设置优先级再启动
![7497f0564a2df48a7d8e60300f6a62a9.png](en-resource://database/546:1)#### 守护线程gc(垃圾回收线程)是守护线程main方法是用户thread.setDaemon(true);//默认是false是用户线程,![0f41c9b9a4f9695e123f9a98e7c1826d.png](en-resource://database/548:1)#### 线程同步机制(多个线程操作同一个资源)并发:同一个对象被多个线程同时操作![7b5595d9d5720a15bcce545c956550c0.png](en-resource://database/550:1)#### 同步方法及同步块synchronized锁的是变化的量默认锁的是当前的对象![57b44924458bc5c7e4674626bb6b9c85.png](en-resource://database/552:1)![84254f16a47718d5266090fd91177879.png](en-resource://database/554:1)#### 死锁![b2667934e1d790cdce2d243b78788579.png](en-resource://database/556:1)![6cb6d3e099865ab181606528b51dc3e2.png](en-resource://database/558:2)![6cb6d3e099865ab181606528b51dc3e2.png](en-resource://database/558:2)#### Lock锁![ee0c1d565e1a1b8bb5749df0c86b364d.png](en-resource://database/560:1)Lock和Synchronized的区别![c06e0e0c9655a5ad06dadb33b70ccf61.png](en-resource://database/562:1)![d431462b1da09d42b04bb8025ee0c558.png](en-resource://database/564:1)#### 线程通信![573d58f0e254be57463a54b546039bb9.png](en-resource://database/566:1)![99e9ac3c7b2ddcc58ab84206057e5bfd.png](en-resource://database/568:1)![6195cb3bdfcafd9a6a59142506f87cdd.png](en-resource://database/570:1)![a4b9315c6c8e826ef0fc7a1fb21d0acd.png](en-resource://database/572:1)#### 线程池![fe86ca53ce811e9323a5583a62efee13.png](en-resource://database/574:1)![e789d330915891cae3545a5cb34b1fce.png](en-resource://database/576:1)
### 使用sleep方法,线程进入sleep休眠状态不会释放锁
![image.png](/i/l/?n=22&i=blog/2853578/202211/2853578-20221116175840452-1473954604.png)
标签:en,resource,database,####,线程,png,Thead From: https://www.cnblogs.com/qiyeqi/p/16897003.html