Discuss / Java / 请问如果读操作是原子的,是不是不用加锁?

请问如果读操作是原子的,是不是不用加锁?

Topic source

Young_TZ

#1 Created at ... [Delete] [Delete and Lock User]

廖老师,您前头讲原子操作的时候,如果一个方法是原子操作,是不是不用加锁?

Young_TZ

#2 Created at ... [Delete] [Delete and Lock User]

说错了,我的意思是写入操作是原子的,例如变量赋值操作,那么这个时候不加锁,多线程是安全的吗

廖雪峰

#3 Created at ... [Delete] [Delete and Lock User]

写入原子操作不加锁是多线程安全的,但是加锁的目的是保证逻辑正确,比如连续写入两个:

void write(int a, int b) {
    this.x = a;
    this.y = b;
}

  • 1

Reply