多线程
积硅步至千里
不积跬步,无以至千里;不积小流,无以成江海。
展开
-
进程与线程的区别
进程和线程的区别?进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享转载 2016-04-07 23:11:00 · 499 阅读 · 0 评论 -
多线程下单重判断懒汉式的低效原因分析及改进
单例模式下的懒汉式在多线程的情况下会出现安全隐患,所以需要加入同步机制,以解决问题,代码如下:class Single{ private Single(){} private static Single s = null; public static synchroized Single getInstance(){ if (s == null){ s = new Si原创 2016-04-08 20:07:39 · 1222 阅读 · 0 评论 -
Java多线程之CountDwonLatch
CountDwonLatch是一个非常实用的多线程控制工具类,这个工具类通常用来控制线程等待,它可以让某个线程等待直到其它线程执行任务结束,在开始执行。下面先看代码,根据代码分析程序,提出问题。import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.ut原创 2017-06-15 21:07:19 · 1863 阅读 · 0 评论 -
Java多线程之Condition
Condition,Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set (wait-set)。其中,Lock 替代了 synchronized 方法和语句的使用,Condition 替代了 Object 监视器方法的使用。下面将之前写过的一个线程通信的转载 2017-07-15 10:02:25 · 611 阅读 · 0 评论 -
Java多线程之ThreadLocal
ThreadLocal直译为"本地线程",但它并不是这样。ThreadLocal本身其实是一个容器,用于 存放线程的局部变量,这个类能使线程中的某个值与保存值的线程对象关联起来。ThreadLocal提供了get和set等访问接口或方法,这些方法为每个使用该变量的线程都存有一份副本,因此get总是返回当前执行线程在调用set时设置的最新值。下面将以实例代码说明。场景:一个序列号生成器的程序同时会有多原创 2017-06-28 10:40:57 · 545 阅读 · 0 评论