![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
thread
文章平均质量分 82
chtx87_98
这个作者很懒,什么都没留下…
展开
-
ThreadLocal源码读后感总结
1.关联类 ThreadLocal: 线程局部变量 Thread:线程对象 2. Thread与ThreadLocal如何关联? ThreadLocal类: /** * Variant of set() to establish initialValue. Used instead * of s...原创 2012-04-23 14:47:05 · 84 阅读 · 0 评论 -
Java多线程同步问题的探究(一、线程的先来后到)
众所周知,在Java多线程编程中,一个非常重要的方面就是线程的同步问题。 关于线程的同步,一般有以下解决方法: 1. 在需要同步的方法 的方法签名中加入synchronized关键字 。 2. 使用synchronized块 对需要进行同步的代码段进行同步。 3. 使用JDK 5中提供的java.util.concurrent.lock 包中的Lock对象。 另外,为了解决多...原创 2012-08-13 14:46:39 · 112 阅读 · 0 评论 -
Java 多线程同步问题的探究(二、给我一把锁,我能创造一个规矩)
在上一篇中,我们讲到了多线程是如何处理共享资源的,以及保证他们对资源进行互斥访问所依赖的重要机制:对象锁 。 本篇中,我们来看一看传统的同步实现方式以及这背后的原理。 很多人都知道,在Java多线程编程中,有一个重要的关键字,synchronized。但是很多人看到这个东西会感到困惑:“都说同步机制是通过对象锁来实现的,但是这么一个关键字,我也看不出来Java程序锁住了哪个对象 阿?“ ...原创 2012-08-13 15:09:44 · 69 阅读 · 0 评论 -
Java 多线程同步问题的探究(三、Lock来了,大家都让开【1. 认识重入锁】)
在上一节中, 我们已经了解了Java多线程编程中常用的关键字synchronized,以及与之相关的对象锁机制。这一节中,让 我们一起来认识JDK 5中新引入的并发框架中的锁机制 。 我想很多购买了《Java程序员面试宝典》之类图书的朋友一定对下面 这个面试题感到非常熟悉: 问:请对比synchronized与java.util.concurrent.locks.Lock 的异同...原创 2012-08-13 16:44:59 · 80 阅读 · 0 评论 -
Java 多线程同步问题的探究(四、协作,互斥下的协作——Java多线程协作(wait、notify、notifyAll))...
Java监视器支持两种线程:互斥和协作 。 前面我们介绍了采用对象锁和重入锁来实现的互斥。这一篇中,我们来看一看线程的协作。 举个例子:有一家汉堡店举办吃汉堡比赛,决赛时有3个顾客来吃,3个厨师来做,一个服务员负责协调汉堡的数量。为了避免浪费,制作好的汉堡被放进一个能装 有10个汉堡的长条状容器中,按照先进先出的原则取汉堡。如果容器被装满,则厨师停止做汉堡,如果顾客发现容器内的...原创 2012-08-15 10:38:12 · 77 阅读 · 0 评论 -
Java 多线程同步问题的探究(五、你有我有全都有—— ThreadLocal如何解决并发安全性?)【更新重要补疑】...
前面我们介绍了Java当中多个线程抢占一个共享资源的问题。但不论是同步还是重入锁,都不能实实在在的解决资源紧缺的情况,这些方案只是靠制定规则来约束线程的行为,让它们不再拼命的争抢,而不是真正从实质上解决他们对资源的需求。 在JDK 1.2当中,引入了java.lang.ThreadLocal。它为我们提供了一种全新的思路来解决线程并发的问题。但是他的名字难免让我们望文生义:本地线程? 什么是本...原创 2012-08-15 15:17:58 · 105 阅读 · 0 评论 -
Java 多线程同步问题的探究(三、Lock来了,大家都让开【2. Fair or Unfair? It is a question...】)...
让我们继续前面有关ReentrantLock的话题。 首先,ReentrantLock有一个带布尔型参数的构造函数 ,在JDK官方文档中对它是这样描述的: “此类的构造方法接受一个可选的公平 参数。当设置为 true 时,在多个线程 的争用下,这些锁倾向于将访问 权授予等待时间最长的线程 。否则此锁将无法保证任何特定访问顺序。与采用默认设置(使用不公平锁)相比,使用 公平锁的...原创 2012-08-15 16:12:59 · 86 阅读 · 0 评论