Java并发
花小胖
这个作者很懒,什么都没留下…
展开
-
多线程与多进程 执行效率
1、多线程在单核和多核CPU上的执行效率问题的讨论 多线程在单cpu中其实也是顺序执行的,不过系统可以帮你切换哪个执行而已,其实并没有快(反而慢)。多个cpu的话就可以在多个cpu中同时执行了。单核CPU时使用多线程,通常是有线程要处于等待状态。而对于普通的进度条更新类的,能够简单控制的(比如:在循环里面手动处理消息)就简单控制,一般不使用线程,这样可以提高程序的性能。并且避免掉不必要的线程同步原创 2017-07-29 19:38:21 · 5018 阅读 · 0 评论 -
同步异步 阻塞非阻塞
同步与异步: 1.同步与异步 同步和异步关注的是消息通信机制。所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调用者*主动等待这个*调用*的结果。而异步则是相反,*调用*在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在*调用*发出后,*被调用者*原创 2017-07-29 21:56:02 · 186 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模转载 2017-07-31 13:04:17 · 131 阅读 · 0 评论 -
Java中的锁机制 synchronized & 偏向锁 & 轻量级锁 & 重量级锁 & 各自优缺点及场景
参考文章: http://blog.csdn.net/chen77716/article/details/6618779 目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家Doug Lea。本文并不比较synchronized与Lock孰优孰劣,只是介绍二者的实现原理。 数据同步需要依赖锁,那锁的同转载 2017-07-31 19:13:56 · 2054 阅读 · 0 评论 -
volatile和synchronized的区别
volatile和synchronized特点 首先需要理解线程安全的两个方面:执行控制和内存可见。 执行控制的目的是控制代码执行(顺序)及是否可以并发执行。 内存可见控制的是线程执行结果在内存中对其它线程的可见性。根据Java内存模型的实现,线程在具体执行时,会先拷贝主存数据到线程本地(CPU缓存),操作完成后再把结果从线程本地刷到主存。 synchronized关键字解转载 2017-07-31 21:33:40 · 136 阅读 · 0 评论 -
Daemon线程 finally
public class ThreadTest implements Runnable{ public void run() { while (true) { for (int i = 1; i System.out.println(i); try {原创 2017-08-03 21:20:26 · 269 阅读 · 0 评论 -
多线程与多核执行效率
1、多线程在单核和多核CPU上的执行效率问题的讨论 多线程在单cpu中其实也是顺序执行的,不过系统可以帮你切换哪个执行而已,其实并没有快(反而慢)。多个cpu的话就可以在多个cpu中同时执行了。单核CPU时使用多线程,通常是有线程要处于等待状态。而对于普通的进度条更新类的,能够简单控制的(比如:在循环里面手动处理消息)就简单控制,一般不使用线程,这样可以提高程序的性能。并且避免掉不必要的线程同步原创 2017-11-07 11:11:54 · 2935 阅读 · 0 评论