码迷,mamicode.com
首页 >  
搜索关键字:java并发    ( 2349个结果
【Java并发工具类】Lock和Condition
前言 Java SDK并发包通过 和`Condition synchronized`实现了管程的,那么为什么还在SDK中提供另外一种实现呢?欲知为何请看下文。 下面将先阐述再造管程的理由,然后详细介绍Lock和Condition,最后再看实现同步机制时是选择synchronized还是SDK中的管程 ...
分类:编程语言   时间:2020-02-09 20:44:27    阅读次数:68
Java并发包中线程并发器
一、CountDownLatch 场景:主线程需要等待所有子线程执行完毕后再进行汇总 CountDownLatch实现比较简单,继承AQS实现了一个不可重入共享锁Sync 1.不可重入共享锁Sync private static final class Sync extends AbstractQu ...
分类:编程语言   时间:2020-02-06 14:54:31    阅读次数:89
【Java并发基础】局部变量是线程安全的
前言 方法中的变量(即局部变量)是不存在数据竞争(Data Race)的,也是线程安全的。为了理解为什么,我们先来了一下方法是如何被执行的,然后再分析局部变量的安全性,最后再介绍利用局部变量不会共享的特点而产生的解决并发问题的一些技术。 方法是如何被执行的 以上代码转换成CPU指令执行,方法的调用过 ...
分类:编程语言   时间:2020-02-05 18:13:06    阅读次数:69
并发包中ScheduledThreadPoolExecutor
ScheduledThreadPoolExecutor继承了ThreadPoolExecutor,是一个指定一定延迟时间后或者定时进行任务调度执行的线程池 参考自《java并发编程之美》 ...
分类:其他好文   时间:2020-02-04 00:14:40    阅读次数:100
JAVA 并发相关总结
简介 自从JAVA 创建以来,java 就支持类似锁与线程的并发操作。本篇内容主要帮助JAVA 开发者理解和应用JAVA 的核心并发概念 以及如何应用。 概念 概念介绍 原子性 一个原子操作就是要么全部成功,要么全部失败 可见性 可见性是指 一个线程是否可以看到另一个线程的修改 表 1: 并发概念 ...
分类:编程语言   时间:2020-02-03 22:18:12    阅读次数:78
java并发编程之五、工具类
java在线程同步和互斥方面在语言和工具方面都提供了相应的支撑,与此同时,java还提供了一系列的并发容器和原子类,来使得并发编程更容易。 一。并发容器 (一)。同步容器 同步容器指的是容器本身使用synchronized关键字来同步访问,包括我们都知道的HashTable,也包括Vector和St ...
分类:编程语言   时间:2020-02-02 01:41:32    阅读次数:102
java并发编程之四、互斥
前面说了并发任务之间的分工和协作,现在说并发任务之间同样很重要,甚至更重要的一个方面,互斥。因为分工、协作和互斥这三个方面,从重要性上来讲,或许可以三分天下,但从复杂性和可探讨性来讲,互斥显然更胜一筹,对互斥的深入使用,更加体现了一个人的并发编程能力。 互斥,即同一时间只能有一个并发任务可以对数据的 ...
分类:编程语言   时间:2020-02-01 10:24:39    阅读次数:98
【Java并发基础】Java线程的生命周期
前言 线程是操作系统中的一个概念,支持多线程的语言都是对OS中的线程进行了封装。要学好线程,就要搞清除它的生命周期,也就是生命周期各个节点的状态转换机制。不同的开发语言对操作系统中的线程进行了不同的封装,但是对于线程的声明周期这部分基本是相同的。下面先介绍通用的线程生命周期模型,然后详细介绍Java ...
分类:编程语言   时间:2020-01-30 09:59:04    阅读次数:66
Java 并发编程 -- Fork/Join 框架
概述Fork/Join 框架是 Java7 提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。下图是网上流传的 Fork Join 的运行流程图,直接拿过来用了:工作窃取算法工作窃取(work-stealing)算法是指某个线程从其他队... ...
分类:编程语言   时间:2020-01-29 12:41:04    阅读次数:81
Java并发编程:Callable、Future和FutureTask
创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开始,就提供了Callab ...
分类:编程语言   时间:2020-01-28 21:20:15    阅读次数:76
2349条   上一页 1 ... 18 19 20 21 22 ... 235 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!