随笔分类 - Java-a1-Java基础
摘要:创建线程的4中方式: 1、继承Thread类或者创建线程类 2、通过实现Runable接口创建线程类 3、通过Callable接口 https://www.cnblogs.com/Mrchengs/p/10793688.html 4、通过线程池创建线程 https://www.cnblogs.com
阅读全文
摘要:ForkJoinPool 分支/合并框架 工作窃取 Fork/Join 框架 Fork/Join 框架:就是在必要的情况下,将一个大任务,进行拆分(fork)成若干个小任务(拆到不可再拆时),再将一个个的小任务运算的结果进行 join 汇总 Fork/Join 框架与线程池的区别 采用 “工作窃
阅读全文
摘要:线程池 第四种获取线程的方法:线程池,一个 ExecutorService,它使用可能的几个池线程之 一执行每个提交的任务,通常使用 Executors 工厂方法配置。 线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在 执行大量异步任务时提供增强的性能,并且还可以提供
阅读全文
摘要:线程八锁 • 一个对象里面如果有多个synchronized方法,某一个时刻内,只要一个线程去调用 其中的一个synchronized方法了,其它的线程都只能等待,换句话说,某一个时刻 内,只能有唯一一个线程去访问这些synchronized方法 • 锁的是当前对象this,被锁定后,其它的线程都不
阅读全文
摘要:读-写锁 ReadWriteLock ReadWriteLock 维护了一对相关的锁,一个用于只读操作, 另一个用于写入操作。只要没有 writer,读取锁可以由 多个 reader 线程同时保持。写入锁是独占的。。 ReadWriteLock 读取操作通常不会改变共享资源,但执行 写入操作时
阅读全文
摘要:线程按序交替 编写一个程序,开启 3 个线程,这三个线程的 ID 分别为A、B、C,每个线程将自己的 ID 在屏幕上打印 10 遍,要求输出的结果必须按顺序显示。如:ABCABCABC…… 依次递归 测试类中: 测试结果:
阅读全文
摘要:Condition Condition 接口描述了可能会与锁有关联的条件变量。这些变量在用 法上与使用 Object.wait 访问的隐式监视器类似,但提供了更强大的 功能。需要特别指出的是,单个 Lock 可能与多个 Condition 对象关 联。为了避免兼容性问题,Condition 方法
阅读全文
摘要:等待唤醒案例最经典的的就是:生产者消费者案例 首先定义一个店员进行买卖产品: 此时是对共享数据进行操作使用synchronized进行操作!! 生产者进行生产产品: 消费者进行购买产品: 执行结果如下 此时可以发现是线程不安全的 生产者消费者过快都会影响数据 进行数据的等待和唤醒 此时的数据是可以进
阅读全文
摘要:显示锁 Lock 在Java 5.0之前,协调共享对象的访问时可以使用的机 制只有 synchronized 和 volatile 。Java 5.0 后增加了一些 新的机制,但并不是一种替代内置锁的方法,而是当内 置锁不适用时,作为一种可选择的高级功能。 ReentrantLock 实现了
阅读全文
摘要:Callable接口 Java 5.0 在 java.util.concurrent 提供了一个新的创建执行 线程的方式:Callable 接口 Callable 接口类似于 Runnable,两者都是为那些其实例可 能被另一个线程执行的类设计的。但是 Runnable 不会返 回结果,并且
阅读全文
摘要:CountDownLatch Java 5.0 在 java.util.concurrent 包中提供了多种并发容器类来改进同步容器的性能。 CountDownLatch 一个同步辅助类,在完成一组正在其他线程中执行的操作 之前,它允许一个或多个线程一直等待。 闭锁可以延迟线程的进度直到
阅读全文
摘要:ConcurrentHashMap Java 5.0 在 java.util.concurrent 包中提供了多种并发容器类来改进同步容器的性能。 ConcurrentHashMap 同步容器类是Java 5 增加的一个线程安全的哈希表。对 与多线程的操作,介于 HashMap 与 Hash
阅读全文
摘要: CAS (Compare-And-Swap) 是一种硬件对并发的支持,针对多处理器操作而设计的处理器中的一种特殊指令,用于管理对共享数据的并发访问。 CAS 是一种无锁的非阻塞算法的实现。 CAS 包含了 3 个操作数: 需要读写的内存值 V 进行比较的值 A 拟写入的新值 B 当且
阅读全文
摘要:Java JUC简介 在 Java 5.0 提供了 java.util.concurrent (简称JUC )包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程池、异步 IO 和轻量级任务框架。提供可调的、灵活的线程池。还提供了设计用于多线程上下文中的 Co
阅读全文

浙公网安备 33010602011771号