多线程
文章平均质量分 68
十三月的斑
写代码的
展开
-
(转)java中关于AtomicInteger的使用
在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。咳哟参考我之前写的一篇博客http://www.cnblogs.com/sharkli/p/5597148.html,今天偶然发现可以不用synchronized使用AtomicInteger完成同样的功能,具体代码如下,...原创 2018-12-04 15:54:31 · 1506 阅读 · 0 评论 -
(转)并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。线程安全就是说多线程访问同一代码...原创 2018-12-04 16:29:12 · 97 阅读 · 0 评论 -
多线程笔记(一)关键字volatile、join、synchronized、Lock、Thread和Runnable
1. 关于volatile关键字http://www.cnblogs.com/dolphin0520/p/3920373.html2. 关于join的基础知识join()方法的作用是等待线程对象销毁。 join()方法具有能使线程排队运行的作用,有点类似于同步的效果。join与synchronize的区别: join在内部使用wait()方法进行等待,底层用wait()来实现。 ...原创 2018-12-17 11:05:11 · 182 阅读 · 0 评论 -
Redis实现分布式锁原理与实现分析
原文链接:添加链接描述一、关于分布式锁关于分布式锁,可能绝大部分人都会或多或少涉及到。我举二个例子:场景一:从前端界面发起一笔支付请求,如果前端没有做防重处理,那么可能在某一个时刻会有二笔一样的单子同时到达系统后台。场景二:在App中下订单的时候,点击确认之后,没反应,就又点击了几次。在这种情况下,如果无法保证该接口的幂等性,那么将会出现重复下单问题。在接收消息的时候,消息推送重复。如...转载 2019-04-30 17:19:38 · 129 阅读 · 0 评论 -
Java的synchronized的同步代码块和同步方法的区别
原文链接:添加链接描述线程同步问题大都使用synchronized解决,有同步代码块和同步方法的两种方式,主要记一下这两种的区别测试代码:复制代码1 package com.xujingyang.testThread;23 public class SynObj{4 public synchronized void showA(){5 System.out....转载 2019-05-31 23:37:25 · 102 阅读 · 0 评论