Java Concurrent 2020
Java并发的一些分享。
u010823625
让积累成为一种习惯。
展开
-
ifeve.com :并发编程网站推荐
转载自并发编程网 – ifeve.com本文链接地址: 并发编程网站推荐并发编程网站推荐并发编程网站Thread newsgroup(很多多线程相关的问题)preshingDoug Lea workstation (并发编程大师Doug lea的个人网站)Concurrency mail list (Doug lea搞的邮件列表)oracle dave (o转载 2016-11-18 21:32:41 · 818 阅读 · 0 评论 -
ifeve.com :java并发面试题(一)基础
转载自并发编程网 – ifeve.com本文链接地址: java并发面试题(一)基础java并发面试题(一)基础本文整理了常见的Java并发面试题,希望对大家面试有所帮助,欢迎大家互相交流。多线程java中有几种方法可以实现一个线程?如何停止一个正在运行的线程?notify()和notifyAll()有什么区别?sleep()和 wait()有什么区别?什么是D转载 2016-11-18 21:05:19 · 502 阅读 · 0 评论 -
Core Java 9 th : java.util.concurrent 同步器
表1 java.util.concurrent同步器类它能做什么何时使用CyclicBarrier允许线程集等待直至其中预定数目的线程达到一个公共障栅(barrirer),然后可以选择执行一个处理障栅的动作当大量的线程需要在它们的结果可用之前完成时CountDownLatch原创 2016-12-11 00:37:10 · 354 阅读 · 0 评论 -
Core Java 9 th : Blocking Queue 方法
Blocking Queue 方法表1 Blocking Queue方法方法正常动作特殊情况下的动作add添加一个元素如果队列满,则抛出IllegalStateExecption异常element返回队列的头元素如果队列空,抛出NoSuchElemen原创 2016-12-11 00:09:52 · 434 阅读 · 0 评论 -
异步锁:火车买票问题
异步锁:火车买票问题public class TicketOfiice { private int ticketNum = 0 ; public TicketOfiice(int ticketNum) { super(); this.ticketNum = ticketNum; } public int getTicketNum() { return ticketNu原创 2016-11-26 11:02:50 · 1195 阅读 · 0 评论 -
同步锁:生产者-消费者问题
同步锁:生产者-消费者问题/** 同步锁:多个线程共同操作一个数据结构中的数据*/public class ProducerConsumer { public static void main(String[] args) { /** 消息队列*/ final MessageQueue mq = new MessageQueue(10); /** 创建三个生产者*/ fo原创 2016-11-26 11:00:42 · 508 阅读 · 0 评论 -
Java多线程习题解
Java多线程习题解一、问题: 1>.现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行? 2>.在Java中Lock接口比synchronized块的优势是什么?你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它? 3>.在java中wait和s原创 2016-11-26 12:37:20 · 2541 阅读 · 0 评论 -
Java Concurrency in Practice :基础知识(正确的同步 - 组合)
正确的同步 - 组合1、通过final和synchronized来实现正确的同步public class ImprovedList implements List{ public final List list; public ImprovedList(List t) {this.list = list;} public synchronized boolean putIfAbs原创 2016-11-24 21:20:32 · 434 阅读 · 0 评论 -
Java Concurrency in Practice :基础知识(正确的同步 -- 客户端加锁)
正确的同步 -- 客户端加锁1、错误的示范public class ListHepler{ public List list = Collections.synchronizedList(new ArrayList); public synchronized boolean putIfAbsent(E x){ boolean absent = !list.contains(x原创 2016-11-24 21:06:35 · 415 阅读 · 0 评论 -
Java Concurrency in Practice :基础知识(重排序与可见性)
重排序1、小段代码片public class NoVisibility{ private static boolean ready; private static int number; private static class ReaderThread extends Thread{ public void run(){ while(!ready) Thread.原创 2016-11-24 19:38:03 · 485 阅读 · 0 评论 -
Java Concurrency in Practice :基础知识(线程同步)
线程同步1、非线程安全的数值序列生成器public class UnsafeSequence{ private int value; public int getNext(){ return value++; }}2、线程安全的数值序列生成器public class UnsafeSequence{ private int value; public synchr原创 2016-11-23 22:52:30 · 470 阅读 · 0 评论