
Java线程
迟到的二货
~~~~~~~~
展开
-
ThreadLocal
ThreadLocal(线程变量副本) Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。 ThreadLocal和Synchonized都用于解决多线程并发访问。但是ThreadLocal与synchronized有本质的区别。synchronized是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问。而ThreadLocal为每一个线程都提供了原创 2018-01-19 08:03:43 · 156 阅读 · 0 评论 -
线程池
newCachedThreadPool 创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。示例代码如下: 线程池为无限大,当执行第二个任务时第一个任务已经完成,会复用执行第一个任务的线程,而不用每次新建线程。package test; import java.util.concurrent.ExecutorService; import原创 2018-01-19 11:45:00 · 158 阅读 · 0 评论 -
Java线程相关问题
线程安全 如果一个类在单线程环境下能够正常运行,并且在多线程环境下,在其使用方不必为其做任何改变的情况下也能正常运行,我们就称线程安全;一个类如果能够导致竞态那么它就是非线程安全的;如果一个类是线程安全的,那么它就不会导致竞态。 竞态 计算结果与时间有关的现象被称为竞态。wait方法和sleep方法的区别 sleep 是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机原创 2018-01-14 16:27:15 · 234 阅读 · 2 评论