线程及锁优化总结

进程是系统进行资源分配和调度的一个独立单位,是处于运行过程中的程序,有3个特性:     独立熊     动态性        并发性

并发:是指同一时刻只能有一条指令被执行,但多个进程指令被快速轮换执行  宏观上具有多个进程同时执行的效果

并行:只在同一时刻,有多条指令在多个处理器上同时执行

2:线程是进程的执行单元 可以说是它的子集

创建线程的3中方式:1:继承Thread 重写run()方法;2实现Runnable接口 重写run()方法;3使用Callable接口和Future(   call()方法具有返回值       )

3:线程的生命周期:新建   就绪   运行  阻塞 和死亡

同步:client端发出一个功能调用时 在没有得到结果之前  该调用不返回。异步:client端一个异步过程调用发出后 调用者在没得到结果之前可以做其他事。

临界区:访问公用资源的程序片段 共用资源无法被多个线程访问 

阻塞:调用结果返回之前,当前线程会被挂起(CPU不分配时间片)

非阻塞:不能立即得到结果之前 该函数不会阻塞当前线程 会立刻返回

并发级别:无等待并发   无锁并发  无阻塞并发  阻塞并发

扫描二维码关注公众号,回复: 1070790 查看本文章

死锁的原因:拥有的不可剥夺的资源 其数量不足以满足多个进程运行的需要,因争夺资源而陷入僵局 ,进程A和B不是竞争资源,而是等待对方资源导致死锁

死锁产生的必要条件:

1:互斥条件 资源仅能一方占有 2:不可剥夺条件(资源不可剥夺)3:请求和保持(请求资源 保持旧资源)4:循环等待(避免循环:加锁顺序 加锁时限 死锁检测)




猜你喜欢

转载自blog.csdn.net/purpose1123/article/details/79418462
今日推荐