![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
并发编程
不秃头不改名字
这个作者很懒,什么都没留下…
展开
-
Synchronized原理
https://www.cnblogs.com/heqiyoujing/p/11144649.html原创 2020-08-12 11:24:31 · 53 阅读 · 0 评论 -
并发编程-线程基础
线程 什么是线程 线程是操作系统能够进行调度的最小单位。它被包含在进程中,是进程中实际运作的单位 为什么会有线程 在多核CPU中,利用多线程可以实现真正意义上的并行执行 在一个应用进程中,会存在多个同时执行的任务,如果其中一个任务被阻塞,将会引起不依赖该任务的任务也被阻塞。通过对不同任务创建不同进程去处理,可提升程序处理的实时性(例如打开文档编辑器,后台会有一个保存和编写的线程,如果保存的线程出现卡顿的状况,那么将会影响编写的线程的运行) 线程可以认为是轻量级的进程,所以线程的创建,销毁比进程更快 为什原创 2020-05-30 09:45:50 · 97 阅读 · 0 评论 -
并发编程-线程安全
线程安全 什么是线程安全 当多个线程访问某个对象时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或者协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的 (一个对象或者类,在多个线程并行访问的时候,它的状态都能表现出正确的行为) 造成线程安全的本质 原子性 可见性 有序性 原子性 一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 可见性 当多个线程访问同一个变量时,一个线程修改了这个变量的值,其原创 2020-05-30 09:55:48 · 113 阅读 · 0 评论 -
线程sleep 和wait 的区别
线程sleep 和wait 的区别: 这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。 wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用(使用范围) sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常 sleep是Thread类的静态方法。sleep的作用是让线程休眠制定的时间,在时间到达时恢复,也就是说原创 2020-08-07 16:36:33 · 264 阅读 · 0 评论