- 博客(5)
- 收藏
- 关注
原创 Java多线程之详解ThreadLocal类(一)
ThreadLocal类是用来创建和管理线程的本地存储的类。线程的本地存储可以为相同变量的每个不同线程都创建不同的存储,根除了线程对变量的共享,从而防止多线程任务在共享资源上发生冲突。我们先看下列代码: public class ThreadLocalTest { private static ThreadLocal value = new ThreadLocal(){
2017-06-21 15:36:03 507
原创 Java多线程之synchronized的使用技巧
在使用synchronized的时候,我们有时只是希望防止多个线程同时访问方法内部的部分代码而不是防止其访问整个方法,通过这种方式分离出来的代码我们成为临界区(critical section),如下列代码所示:
2017-06-19 16:52:39 358
转载 Java关键字volatile的理解与正确使用
概述 Java语言中关键字 volatile 被称作轻量级的 synchronized,与synchronized相比,volatile编码相对简单且运行的时的开销较少,但能够正确合理的应用好 volatile 并不是那么的容易,因为它比使用锁更容易出错,接下来本文主要介绍 volatile 的使用准则,以及使用过程中需注意的地方。 为何使用volatile? (1)简易性:在某些需要同
2017-06-13 23:10:47 431
原创 Java多线程之synchronized与Lock
首先我们需要先理解一下什么是共享受限资源。 private int currentEvenValue = 0; public int next() { ++currentEvenValue;//++I表示先自增在赋值,I++表示先赋值在自增 //Thread.yield(); ++currentEvenValue; return currentEvenValu
2017-06-10 22:44:27 394
原创 Java多线程之捕获子线程中的异常
在某些场景下,我们经常需要使用多线程来执行任务提高性能,但是我们知道正常的线程是无法处理异常的,一旦出现异常就会传播到控制台。这个时候我们需要在线程里面处理异常怎么办呢,我们可以使用Executor来处理。 在Java5中新加入了一个Thread.UncaughtExceptionHandler接口,这个接口可以让我们在每个Thread对象上都附着一个异常处理器,它的unacughtExcept
2017-06-10 15:28:54 3593 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人