Java 并发编程 第3页

Java 并发编程,包括 Java 并发核心理论知识,JUC源码分析,囊括 Java 并发编程方方面面
【Java并发编程实战】-----synchronized-Java 技术驿站

【Java并发编程实战】—–synchronized

chenssy阅读(5792)评论(4)赞(4)

在我们的实际应用当中可能经常会遇到这样一个场景:多个线程读或者、写相同的数据,访问相同的文件等等。对于这种情况如果我们不加以控制,是非常容易导致错误的。在java中,为了解决这个问题,引入临界区概念。所谓临界区是指一个访问共用资源的程序片段...

【java并发编程实战】-----线程基本概念-Java 技术驿站

【java并发编程实战】—–线程基本概念

chenssy阅读(4972)评论(0)赞(1)

学习Java并发已经有一个多月了,感觉有些东西学习一会儿了就会忘记,做了一些笔记但是不系统,对于Java并发这么大的“系统”,需要自己好好总结、整理才能征服它。希望同仁们一起来学习Java并发编程,共同进步,互相指导。 在学习Java并发之...

java多线程(十六)-----条件变量-Java 技术驿站

java多线程(十六)—–条件变量

chenssy阅读(4511)评论(2)赞(0)

条件变量是Java5线程中很重要的一个概念,顾名思义,条件变量就是表示条件的一种变量。但是必须说明,这里的条件是没有实际含义的,仅仅是个标记而已,并且条件的含义往往通过代码来赋予其含义。 这里的条件和普通意义上的条件表达式有着天壤之别。 条...

java多线程(十五)-----阻塞栈-Java 技术驿站

java多线程(十五)—–阻塞栈

chenssy阅读(3457)评论(0)赞(0)

对于阻塞栈,与阻塞队列相似。不同点在于栈是“后入先出”的结构,每次操作的是栈顶,而队列是“先进先出”的结构,每次操作的是队列头。 这里要特别说明一点的是,阻塞栈是Java6的新特征。、 Java为阻塞栈定义了接口:java.util.con...

java多线程(十四)-----阻塞队列-Java 技术驿站

java多线程(十四)—–阻塞队列

chenssy阅读(4144)评论(0)赞(1)

阻塞队列是Java5线程新特征中的内容,Java定义了阻塞队列的接口java.util.concurrent.BlockingQueue,阻塞队列的概念是,一个指定长度的队列,如果队列满了,添加新元素的操作会被阻塞等待,直到有空位为止。同样...

java多线程(十三)-----信号量-Java 技术驿站

java多线程(十三)—–信号量

chenssy阅读(4788)评论(0)赞(1)

Java的信号量实际上是一个功能完毕的计数器,对控制一定资源的消费与回收有着很重要的意义,信号量常常用于多线程的代码中,并能监控有多少数目的线程等待获取资源,并且通过信号量可以得知可用资源的数目等等,这里总是在强调“数目”二字,但不能指出来...

java多线程(十二)-----锁-Java 技术驿站

java多线程(十二)—–锁

chenssy阅读(4619)评论(0)赞(1)

一、锁(上) 在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口Condition、Loc...

java多线程(十一)-----有返回值的线程-Java 技术驿站

java多线程(十一)—–有返回值的线程

chenssy阅读(4529)评论(0)赞(1)

在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写。或者干脆绕过这道坎,走别的路了。 现在Java终于有可返回值的任务(也可以叫做线程)了。 可返回值的任务必须实现Callable接口,类似的,无返回值的...

java多线程(十)-----并发协作:死锁-Java 技术驿站

java多线程(十)—–并发协作:死锁

chenssy阅读(6242)评论(0)赞(1)

线程发生死锁可能性很小,即使看似可能发生死锁的代码,在运行时发生死锁的可能性也是小之又小。 发生死锁的原因一般是两个对象的锁相互等待造成的。 在《Java线程:线程的同步与锁》一文中,简述死锁的概念与简单例子,但是所给的例子是不完整的,这里...

Java多线程(九)-----并发协作-生产者消费者模型-Java 技术驿站

Java多线程(九)—–并发协作-生产者消费者模型

chenssy阅读(5976)评论(0)赞(1)

对于多线程程序来说,不管任何编程语言,生产者和消费者模型都是最经典的。就像学习每一门编程语言一样,Hello World!都是最经典的例子。 实际上,准确说应该是“生产者-消费者-仓储”模型,离开了仓储,生产者消费者模型就显得没有说服力了。...

java多线程(八)-----线程的同步-Java 技术驿站

java多线程(八)—–线程的同步

chenssy阅读(4222)评论(2)赞(1)

一、同步方法 线程的同步是保证多线程安全访问竞争资源的一种手段。 线程的同步是Java多线程编程的难点,往往开发者搞不清楚什么是竞争资源、什么时候需要考虑同步,怎么同步等等问题,当然,这些问题没有很明确的答案,但有些原则问题需要考虑,是否有...

Java线程池使用说明-Java 技术驿站

Java线程池使用说明

chenssy阅读(7332)评论(2)赞(0)

一、简介 线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要...

Java多线程(七)-----线程的调度-Java 技术驿站

Java多线程(七)—–线程的调度

chenssy阅读(5031)评论(0)赞(3)

Java线程调度是Java多线程的核心,只有良好的调度,才能充分发挥系统的性能,提高程序的执行效率。 这里要明确的一点,不管程序员怎么编写调度,只能最大限度的影响线程执行的次序,而不能做到精准控制。 一、休眠 线程休眠的目的是使线程让出CP...

Java多线程(六)-----线程的交互-Java 技术驿站

Java多线程(六)—–线程的交互

chenssy阅读(6737)评论(6)赞(2)

线程交互是比较复杂的问题,SCJP要求不很基础:给定一个场景,编写代码来恰当使用等待、通知和通知所有线程。 一、线程交互的基础知识 SCJP所要求的线程交互知识点需要从java.lang.Object的类的三个方法来学习: void not...

Java多线程(五)-----线程的同步与锁-Java 技术驿站

Java多线程(五)—–线程的同步与锁

chenssy阅读(8537)评论(3)赞(3)

一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。 例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。 public class Foo { private ...