JAVA并发编程(一)

  • Post author:
  • Post category:java


线程安全性:

当多个线程访问某个类的时候,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或者协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。

无状态对象(即这个类不包含任何域也不包含任何对其他类中域的引用)一定是线程安全的。

竞态条件:当某个计算的正确性取决于多个线程的交替执行时序时,那么就会发生竞态条件。

内置锁:每个java对象都可以用做一个实现同步的锁,这些锁被称为内置锁或监视器锁。线程在进入同步代码块之前会自动获得锁,并且在退出同步代码块时自动释放锁。java的内置锁相当于一种互斥体(或者称为互斥锁),例如,当A线程尝试获得一个由B线程持有的锁的时候,那么A线程就会阻塞,直到B线程释放这个锁,如果B线程一直不释放锁,那么A线程将一直阻塞下去。

重入:java的内置锁是可以重入的,这就意味着某个线程试图获得一个已经由它自己持有的锁,那么这个请求就会成功。“重入”意味着线程的操作粒度是“线程”,而不是“调用”。



版权声明:本文为zx582727090原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。