多线程学习

来源:互联网 发布:sql语句里case when 编辑:程序博客网 时间:2024/05/17 20:22

Thread和Runnable的区别
单继承模式Thread 而 Runnable是接口
start 和run的区别
start是一个线程只能启动,run可以执行多次,并且run是调用当前正在执行的线程
wait() notify()—Object对象所具有的
sleep()
setPriority
同步机制
HashMap ArrayList String 非线程安全
如何保证信息的一致性
start—>等待、阻塞、执行、结束
死锁:四种情况会产生死锁:
1、相互排斥:独占共享资源
2、循环等待: A等待B B等待C而C等待A
3、部分分配 :资源被部分分配,例如,进程A和B都需要访问一个文件,同时需要用到打印机,进程A得到了这个文件资源,进程B得到了打印机资源,但两个进程都不能获得全部的资源
4 、 缺少优先权:一个进程获得了该资源但是一直不释放该资源,即使该进程处于阻塞状态

活锁:由于优先级比较低,任务调度的时候总是以高优先级优先,那么优先级低的总是在队列里等待。一系列进程在轮询地等待。
饥饿:??

生产者消费者模式

0 0
原创粉丝点击