当前位置: 首页 > 后端技术 > Java

《高频面试题》中并发编程的特点是什么?

时间:2023-04-01 17:16:09 Java

原子性原子性(Atomicity)是指:在一个或多个操作中,要么所有操作都执行,要么一个操作都不执行。在Java内存模型中,只有基本读取和赋值的原子操作是有保证的。如果要保证多个操作的原子性,需要使用synchronized关键字或者Lock相关的工具类。如果想把int、long等类型的自增操作做成原子的,可以使用java.util.concurrent.atomic包下的工具类,如:AtomicInteger、AtomicLong等。另外需要注意的是volatile关键字没有保证原子性的语义。可见性可见性(Visibility)是指:当一个线程修改共享变量时,另一个线程可以立即看到该变量修改后的最新值。您可以使用volatile、synchronized关键字和Lock相关的工具类来确保可见性。OrderingOrdering是指程序执行的顺序按照代码执行的顺序执行。除了Happens-Before原则提供的自然顺序,我们还可以使用volatile、synchronized关键字和Lock相关的工具类来保证顺序。参考答案原子性、可见性、有序性