![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA多线程笔记
雨落花潭
这个作者很懒,什么都没留下…
展开
-
线程通信
线程通信 使用wait()、notify()或者notifyAll()实现线程通信 解决方式1:管程法 并发协作模型“生产者/消费者模式”——>管程法 生产者:负责生产数据的模块(这里的模块可能是:方法、对象、线程、进程) 消费者:负责处理数据的模块(这里的模块可能是:方法、对象、线程、进程) 缓冲区:消费者不能直接使用生产者的数据,它们之间有个“缓冲区”;生产者将生产好的数据放入“缓冲区...转载 2019-05-26 17:34:39 · 83 阅读 · 0 评论 -
线程状态
线程状态 新生状态 就绪状态 运行状态 死亡状态 阻塞状态 新生状态 线程对象一旦创建,就进入到新生状态。 就绪状态 当调用start()方法,线程立即进入就绪状态,但是不意味着立即高度执行。 运行状态 进入运行状态,线程才真正执行线程的代码块。 阻塞状态 当调用sleep()、wait()或同步锁定时,线程进入阻塞状态,所谓就是代码不往下执行,在等待着,同理不保证调用以上方法就立即阻塞。阻...转载 2019-05-26 17:42:10 · 137 阅读 · 0 评论 -
线程同步
线程同步 由于同一进程的多个线程共享同一块存储空间,带来 了访问冲突问题。为保证数据在方法中被访问时的正确性,在访问时加入锁机制(synchronized),当一个线程获得对象的排它锁,独占资源,其他线程必须等待,使用后释放锁即可。 锁的使用存在以下问题: 一个线程持有锁会导致其它所有需要此锁的线程挂起; 在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题; 如果一个优...转载 2019-05-26 17:46:30 · 73 阅读 · 0 评论 -
数组
数组 数组的定义 数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。数组的三个基本特点: 1. 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。 2. 其元素必须是相同类型,不允许出现混合类型。 3. 数组类型可以是...转载 2019-07-18 16:47:37 · 221 阅读 · 0 评论