小编Gho*_*_cs的帖子

Java在对象类或调用类中"同步"

我有一个多线程程序,我想知道使用"synchronized"的方式是正确的.

方式1:我有一个类对象(将被传递给多个线程),在其中称为MyClass:

public synchronized void set(String name) {
    this.name = name;
}
Run Code Online (Sandbox Code Playgroud)

方式2:我有相同的类,但没有在其set方法中"同步":

public void set(String name) {
    this.name = name;
}
Run Code Online (Sandbox Code Playgroud)

调用者将执行此操作:

MyClass myclass = new MyClass();
synchronized(myclass) {
    myclass.set("myclass");
}
Run Code Online (Sandbox Code Playgroud)

谁能告诉我哪一个是实现多线程对象共享的正确方法?我很困惑这两个,我试过两个,他们似乎工作正常.

java multithreading

0
推荐指数
1
解决办法
140
查看次数

标签 统计

java ×1

multithreading ×1