简单的说,这些类都是线程安全的,支持无阻塞无锁定的  

Java代码  

set()  

get()  

getAndSet()  

getAndIncrement()  

getAndDecrement()  

getAndAdd()  


等操作  

下面是一个测试代码  concurrent包简介 Atomic类

 

可以看到,10个线程,每个线程运行了10,000次,理论上应该有100,000次增加,使用了普通的long是非线程安全的,而使用了AtomicLong是线程安全的;  
 

注意,这个例子也说明,虽然long本身的单个设置是原子的,要么成功要么不成功,但是诸如count++这样的操作就不是线程安全的;因为这包括了读取和写入两步操作;

相关文章:

  • 2022-01-11
  • 2021-12-06
  • 2022-12-23
  • 2021-12-14
  • 2021-12-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-22
  • 2021-10-13
  • 2021-09-22
  • 2021-07-17
  • 2022-12-23
  • 2021-09-23
  • 2021-05-21
相关资源
相似解决方案