标签:线程
-
超高性能管线式HTTP请求(实践·原理·实现)
这里的高性能指的就是网卡有多快请求发送就能有多快,基本上一般的服务器在一台客户端的压力下就会出现明显延时。 该篇实际是介绍pipe管线的原理,下面主要通过其高性能的测试实践,解析背…
-
【面试】一篇文章帮你彻底搞清楚“I-O多路复用”和“异步I-O”的前世今生
曾经的VIP服务 在网络的初期,网民很少,服务器完全无压力,那时的技术也没有现在先进,通常用一个线程来全程跟踪处理一个请求。因为这样最简单。 其实代码实现大家都知道,就是服务器上有…
-
【面试】如果你这样回答“什么是线程安全”,面试官都会对你刮目相看
有读者跟我说,喜欢看我的文章,说很容易读,我确实在易读性上花费的心思不亚于在内容上。因为我不喜欢一上来就堆很多东西,而且把简单的东西搞得复杂人人都会,但是把复杂的东西讲的简单,确实…
-
36、【死磕Java并发】—–第三十七篇J.U.C之线程池:ScheduledThreadPoolExecutor
原文出处:http://cmsblogs.com/ 『chenssy』 在上篇博客【死磕Java并发】—–J.U.C之线程池:ThreadPoolExecu…
-
35、【死磕Java并发】—–第三十六篇J.U.C之线程池:ThreadPoolExecutor
原文出处:http://cmsblogs.com/ 『chenssy』 作为Executor框架中最核心的类,ThreadPoolExecutor代表着鼎鼎大名的线程池,它给了我们…
-
34、【死磕Java并发】—–第三十五篇J.U.C之线程池:线程池的基础架构
原文出处http://cmsblogs.com/ 『chenssy』 经历了Java内存模型、JUC基础之AQS、CAS、Lock、并发工具类、并发容器、阻塞队列、atomic类后…
-
33、【死磕Java并发】—–第三十四篇深入分析ThreadLocal
原文出处:http://cmsblogs.com/ 『chenssy』 ThreadLoacal是什么? ThreadLocal是啥?以前面试别人时就喜欢问这个,有些伙伴喜欢把它和…
-
27、【死磕Java并发】—–第二十六篇J.U.C之阻塞队列:PriorityBlockingQueue
原文出处:http://cmsblogs.com/ 『chenssy』 我们知道线程Thread可以调用setPriority(int newPriority)来设置优先级的,线程…
-
26、【死磕Java并发】—–第二十五篇J.U.C之阻塞队列:ArrayBlockingQueue
原文出处:http://cmsblogs.com/ 『chenssy』 ArrayBlockingQueue,一个由数组实现的有界阻塞队列。该队列采用FIFO的原则对元素进行排序添…
-
23、【死磕Java并发】—–第二十二篇J.U.C之Java并发容器:ConcurrentLinkedQueue
原文出处http://cmsblogs.com/ 『chenssy』 要实现一个线程安全的队列有两种方式:阻塞和非阻塞。阻塞队列无非就是锁的应用,而非阻塞则是CAS算法的应用。下面…
-
21、【死磕Java并发】—–第二十篇J.U.C之Java并发容器:ConcurrentHashMap
原文出自:http://cmsblogs.com 此篇博客所有源码均来自JDK 1.8 HashMap是我们用得非常频繁的一个集合,但是由于它是非线程安全的,在多线程环境下,put…
-
20、【死磕Java并发】—–第十九篇J.U.C之并发工具类:Exchanger
原文出处:http://cmsblogs.com/ 『chenssy』 此篇博客所有源码均来自JDK 1.8 前面三篇博客分别介绍了CyclicBarrier、CountDownL…
-
18、【死磕Java并发】—–第十七篇J.U.C之并发工具类:CountDownLatch
原文出处:http://cmsblogs.com/ 『chenssy』 此篇博客所有源码均来自JDK 1.8 在上篇博客中介绍了Java四大并发工具一直的CyclicBarrier…
-
17、【死磕Java并发】—–第十六篇J.U.C之并发工具类:CyclicBarrier
原文出处:http://cmsblogs.com/ 『chenssy』 此篇博客所有源码均来自JDK 1.8 CyclicBarrier,一个同步辅助类,在API中是这么介绍的: …
-
14、【死磕Java并发】—–第十三篇J.U.C之读写锁:ReentrantReadWriteLock
原文出处:http://cmsblogs.com/ 『chenssy』 此篇博客所有源码均来自JDK 1.8 重入锁ReentrantLock是排他锁,排他锁在同一时刻仅有一个线程…
-
12、【死磕Java并发】—–第十一篇J.U.C之AQS:阻塞和唤醒线程
原文出处:http://cmsblogs.com/ 『chenssy』 在线程获取同步状态时如果获取失败,则加入CLH同步队列,通过通过自旋的方式不断获取同步状态,但是在自旋的过程…
-
10、【死磕Java并发】—–第九篇J.U.C之AQS:CLH同步队列
原文出处:http://cmsblogs.com/ 『chenssy』 在上篇博客【死磕Java并发】—–J.U.C之AQS:AQS简介中提到了AQS内部维…
-
07、【死磕Java并发】—–第七篇Java内存模型之总结
原文出处:http://cmsblogs.com/ 『chenssy』 经过四篇博客阐述,我相信各位对Java内存模型有了最基本认识了,下面LZ就做一个比较简单的总结。 总结 JM…
-
03、【死磕Java并发】—–第三篇Java内存模型之happens-before
原文出处:http://cmsblogs.com/ 『chenssy』 在上篇博客(【死磕Java并发】—–深入分析volatile的实现原理)LZ提到过由…
-
02、【死磕Java并发】—–第二篇深入分析volatile的实现原理
原文出处:http://cmsblogs.com/ 『chenssy』 通过前面一章我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的vo…