1.锁,保证的是被锁的代码,一次执行完毕才能被其他线程执行,锁保证了一个线程执行过程中不被其他线程打断。以保证数据的准确性。 2。数据的读写过程,是有冲突的,当一个线程正在读数据,另一个线程正在写同一个数据,就有可能导致…
分类:java并发
JAVA中无锁的线程安全整数AtomicInteger介绍和使用
今天写代码,尝试使用了AtomicInteger这个类,感觉使用起来很爽,特别适用于高并发访问,下面贴一个简单的例子: Java代码 CashierContext类部分代码:  …
《Effective Java》 学习笔记 —— 并发
《Effective Java》第二版学习笔记之并发编程。 第66条 同步访问共享的可变数据 * 关键字synchronized可以保证在同一时刻只有一个线程可以执行某个方法或代码块。…
java的多线程学习,第四记
假如写网络编程的程序,socket编程就是响应客户编程的服务端。 public class ThreadPool { public static void main(String[] args) throws IOExc…
转:java多线程CountDownLatch及线程池ThreadPoolExecutor/ExecutorService使用示例
java多线程CountDownLatch及线程池ThreadPoolExecutor/ExecutorService使用示例 1、CountDownLatch:一个同步工具类,它允许一个或多个线程一直等待,直到其他线程…
Java并发编程札记-(三)JUC原子类-01概述
今天来学习JUC原子类。JUC原子类位于java.util.concurrent.atomic包下,支持在单个变量上解除锁的线程安全编程。 参考JDK1.8的java.util.concurrent.atomic包,画出…
Java死锁 Thread Dump分析
Java中的死锁是指两个线程在互相等待对方释放锁的无限期阻塞现象。 举个例子: 1 public class TestDeadLock { 2 public static void main(String[] args)…
Java 多线程与锁
多线程 线程和进程的区别 进程(Process)是一个正在执行程序的实例,也包括了当前使用的程序计数器、寄存器和变量的一些值。 线程(Thread)是一种轻量级的进程(light weight process(LWP))…
分布式锁的实现(java)
当对接第三方接口时,往往会碰到同一时间发送了大量相同的请求,这个时候或许就是第三方发送接口的失误了。而我们需要做的就是针对这个情况来强化我们的系统。这个时候就需要用到分布式锁。让这些请求只有一个能发送进来。 分布式锁…
Redis系列-生产应用篇-分布式锁(5)-单进程Redis分布式锁的Java实现(Redisson使用与底层实现)-原子锁类
Redisson单进程Redis分布式乐观锁的使用与实现 本文基于Redisson 3.7.5 4. 原子锁类 Redisson中实现了两种原子锁类:RAtomicLong和RAtomicDouble,还有RLongAd…
java 同步 异步 (2)-- synchronized锁住的是代码还是对象
在Java中,synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。synchronized既可以加在一段代码上,也可以加在方法上。 关键…
java学习笔记之多线程的锁接口Lock
众所周知,多线程的弊端是会使代码受到并发访问的干扰,解决的办法就是同步机制。同步的两种常见形式分别是同步代码块和同步函数,两种形式的锁都是隐式锁,前者持有的锁可以是任…