手表哪个网站做的好,做外贸seo优化的公司,重庆网站建设哪个好,乐清做网站的公司1.两个原子操作组合到一块不一定是能保证原子性
ConcurrentLinkedQueue
AtomicInteger 两个类都为线程安全的类#xff0c;但是组合起来并不能保证原子性: public static ConcurrentLinkedQueue concurrentLinkedQueue new ConcurrentLinkedQueue();public static Atomic…1.两个原子操作组合到一块不一定是能保证原子性
ConcurrentLinkedQueue
AtomicInteger 两个类都为线程安全的类但是组合起来并不能保证原子性: public static ConcurrentLinkedQueue concurrentLinkedQueue new ConcurrentLinkedQueue();public static AtomicInteger atomicInteger new AtomicInteger();public boolean put (Object object){if(1000.equals(String.valueOf(atomicInteger))){System.out.println(队列已满);return false;}try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}concurrentLinkedQueue.add(object);atomicInteger.incrementAndGet();return true;}public Object get(){if(0.equals(String.valueOf(atomicInteger)))return null;Object poll concurrentLinkedQueue.remove();atomicInteger.decrementAndGet();return poll;}public static void main(String[] args) {ThreadPoolExecutor threadPool new ThreadPoolExecutor(2, 4, 3, TimeUnit.SECONDS, new ArrayBlockingQueueRunnable(3),new ThreadPoolExecutor.DiscardOldestPolicy());Centor centor new Centor();for(int i0;i3;i){threadPool.execute(new Runnable() {Overridepublic void run() {int i0;while (true){centor.put(i);System.out.println(Thread.currentThread().getName()数量atomicInteger);}}});}
....
pool-1-thread-2数量967
pool-1-thread-1数量967
pool-1-thread-2数量969
pool-1-thread-1数量969
pool-1-thread-2数量971
pool-1-thread-1数量971
pool-1-thread-2数量973
pool-1-thread-1数量973
pool-1-thread-2数量975
pool-1-thread-1数量975
pool-1-thread-1数量977
pool-1-thread-2数量977
pool-1-thread-1数量978
pool-1-thread-2数量979
pool-1-thread-1数量980
pool-1-thread-2数量981
pool-1-thread-1数量983
pool-1-thread-2数量983
pool-1-thread-1数量985
pool-1-thread-2数量985
pool-1-thread-1数量986
pool-1-thread-2数量987
pool-1-thread-2数量989
pool-1-thread-1数量989
pool-1-thread-1数量991
pool-1-thread-2数量991
pool-1-thread-1数量992
pool-1-thread-2数量993
pool-1-thread-2数量994
pool-1-thread-1数量995
pool-1-thread-1数量997
pool-1-thread-2数量997
pool-1-thread-2数量999
pool-1-thread-1数量999
pool-1-thread-2数量1001
pool-1-thread-1数量1001
pool-1-thread-2数量1003
pool-1-thread-1数量1003
pool-1-thread-1数量1004
pool-1-thread-2数量1005
....