摘要: volatile:一个线程修改了某一个共享变量的值,其他线程也是否能够立即知道这个修改的 package demo1;/** * Created by liudan on 2017/7/2. */public class MyThread_volatile extends Thread { priv 阅读全文
posted @ 2017-08-07 23:16 逍遥叹!! 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 原子性 1.一个操作是不可中断的,即使多个线程在一起执行的时候,一旦操作执行开始,就不会被其他的线程干扰执行并导致执行中断。 2.对于静态变量int ,2个线程同时对它进行修改,线程a对它修改为10,线程b对它修改为15,a、b线程之间是没有干扰的,最后的结果要么是10或者15。 3.非原子性操作时 阅读全文
posted @ 2017-08-07 23:14 逍遥叹!! 阅读(676) 评论(0) 推荐(0) 编辑
摘要: public class CountDownLatchTest { // 模拟了100米赛跑,10名选手已经准备就绪,只等裁判一声令下。当所有人都到达终点时,比赛结束。 public static void main(String[] args) throws InterruptedExceptio 阅读全文
posted @ 2017-08-07 23:13 逍遥叹!! 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 1.线程是操作系统的独立的个体,但这些个体如果不经过特殊处理就不能成为一个整体。 2.使用wait、notify,方法实现线程通信(2个方法都是需要object方法) 3.wait(释放锁)、notify(不会释放锁)必须配合synchronized关键字使用。 package demo2;impo 阅读全文
posted @ 2017-08-07 23:13 逍遥叹!! 阅读(190) 评论(0) 推荐(0) 编辑
摘要: package demo2;import java.util.concurrent.CountDownLatch;/** * Created by liudan on 2017/7/27. */public class DemoCountDownLatch { public static void 阅读全文
posted @ 2017-08-07 23:12 逍遥叹!! 阅读(117) 评论(0) 推荐(0) 编辑
摘要: package demo3;import java.util.concurrent.TimeUnit;/** * Created by liudan on 2017/7/7. */public class MyThread1 { public static ThreadLocal<String> t 阅读全文
posted @ 2017-08-07 23:11 逍遥叹!! 阅读(150) 评论(0) 推荐(0) 编辑
摘要: FutureTask 线程池submit与execute package demo2;import java.util.concurrent.*;/** * Created by liudan on 2017/7/31. */public class DemoFuture implements Ca 阅读全文
posted @ 2017-08-07 23:11 逍遥叹!! 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 并发类容器设计 1.ConcurrentHashMap:代替散列普通的hashTable,添加了复合操作支持。 private ConcurrentHashMap<String, Object> resultMap = new ConcurrentHashMap<String, Object>(); 阅读全文
posted @ 2017-08-07 23:10 逍遥叹!! 阅读(181) 评论(0) 推荐(0) 编辑
摘要: voctor动态数组、同步类容器,底层实现基于:Collections.synchronized package demo5; import java.util.ArrayList; import java.util.Collections; import java.util.List; impor 阅读全文
posted @ 2017-08-07 23:10 逍遥叹!! 阅读(317) 评论(0) 推荐(0) 编辑
摘要: package demo7.MQ;public class QueueData { private int id; private String name; private String taskCode; public QueueData() { } public QueueData(int id 阅读全文
posted @ 2017-08-07 23:09 逍遥叹!! 阅读(261) 评论(0) 推荐(0) 编辑
摘要: CountDownLatch 监听某个线程的初始化,等待初始化执行完毕后,通知主线程工作。延迟、阻塞的是主线程,在单个线程中。 CyclicBarrier 针对多个线程、线程池,多个线程初始化准备之后,去操作同一件事件(必须一定要所有准备才可执行,通知各的主线程去执行正常工作)。 package d 阅读全文
posted @ 2017-08-07 23:08 逍遥叹!! 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 为知笔记发布到博客园代码高亮失效问题标签:import doc property iter aml nal rom str family 博客设置 -> 页面定制CSS代码填入以下样式表/*Original style from softwaremaniacs.org (c) Ivan Sagalaev */.hljs { display: block; pa... 阅读全文
posted @ 2017-08-07 22:50 逍遥叹!! 阅读(340) 评论(0) 推荐(0) 编辑
摘要: Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应,感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型. 作为负载均衡服务器:Ng... 阅读全文
posted @ 2017-08-07 22:45 逍遥叹!! 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 同步类容器1 1.线程都是安全的。 2.在某些场景下需要加锁来保护“复合操作” a.迭代:反复去访问元素、遍历完容器所有的元素 b.跳转:根据下标制定去访问查找元素 c.条件运算 3.复合操作在多线程并发修改内容时:可能会出现意外的行为、容器迭代的过程中被并发的修改了内容,这是早期的迭代器设计没有考 阅读全文
posted @ 2017-08-07 22:41 逍遥叹!! 阅读(202) 评论(0) 推荐(0) 编辑