随笔分类 - Concurrency
并发编程知识
摘要:1、摘要 让线程和任务启动很容易,但是,要安全地关闭它们,就不是那么容易了。 Java中没有提供任何机制来安全地终止线程。 中断(Interruption)只是一种协作机制,然一个线程告诉另一个线程:我想让你停下来。 但是,另一个线程是否会停下来取决于它执行的任务里面是否响应了中断,并且采取了什么中
阅读全文
摘要:1、任务 什么是任务? 任务通常是一组抽象且离散的工作单元,通过把程序的功能分解到多个任务, 可以简化程序结构,优化错误处理,以及提供自然的并行工作结构。 找出任务的边界: 在理想的情况下,任务应该是相互独立的,任务的独立有助于实现并发。 每一项任务都应该表示程序的一部分处理能力,以便方便实现调度和
阅读全文
摘要:1、同步容器类 同步容器类包括Vector、HashTable以及在这两者基础上实现的类(如基于Vector实现的Stack), 还包括通过Collections.synchronizedXxx工厂方法创建的同步封装器类。 这些同步封装器类通过将底层类的状态封装起来,并对每个公有方法都进行了同步,来
阅读全文
摘要:1、摘要 虽然知道了如何去编写线程安全的类,但是,我们不希望每一次都从底层的类开始写。 我们如何能够使用现有的线程安全类来组合为更大规模的组件或程序呢? 如何用不是线程安全的类来组合构建我们的线程安全类呢? 2、设计线程安全的类 在设计线程安全类时,需要包含以下三个要素: 1、找出构成对象状态的所有
阅读全文
摘要:1、并发简介 进程是操作系统资源分配的基本单位,线程是操作系统调度的基本单位。 线程允许在同一个进程中同时存在多个程序控制流。 线程会共享进程范围内的资源(内存句柄,文件句柄等),但每个线程都有自己的PC、栈以及局部变量等。 Java堆、方法区是线程间共享的;PC、虚拟机栈、本地方法栈是线程私有的。
阅读全文

浙公网安备 33010602011771号