Java锁的使用
线程安全问题
如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。
如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的,
或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题 。
线程安全需要保证几个基本特性
原子性,简单说就是相关操作不会中途被其他线程干扰,一般通过同步机制实现。
可见性,是一个线程修改了某个共享变量,其状态能够立即被其他线程知晓,通常被解释为将线程本地状态反映到主内存上,volatile 就是负责保证可见性的。
有序性,是保证线程内串行语义,避免指令重排等。
synchronized使用简单介绍
synchronized 是java语言关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。
synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块。
1234567891011//同步的方法pub ...
Java多线程简介
一个进程可由多个线程组成,多个线程共享进程内资源,多个线程可在单核处理器上并发执行,在多核处理器并行执行。
Java深浅拷贝和序列化拷贝
Java面向对象
Java之IO流
Java面向对象
Java文件操作File和RandomAccessFile
Java面向对象
队列接口与Stream流操作
Java面向对象
Map集合
Java面向对象
Set集合
Java面向对象
List集合
Java面向对象
数据结构,Collection集合和Collections工具类
Java面向对象