这个线程安全吗?

Leo*_*Leo 7 multithreading android thread-safety runnable

我正在编写一个Android应用程序,并使用工作线程来处理某些信息.阅读完我的代码后,我现在不确定它是否是线程安全的.

我已经编写了我的代码的简化版本,我省略了Handler用于与主线程进行通信的对象,显然是进程本身.

public class myClass implements Runnable
{
    private String myString;

    @Override
    public void run()
    {
        myString = "Some Value";
    }
}
Run Code Online (Sandbox Code Playgroud)

通过运行类似于此的东西来调用它.

myClass class = new myClass();
Thread thread = new Thread(class);
thread.start()
Run Code Online (Sandbox Code Playgroud)

那么,这个代码是不是线程安全的,因为我myStringrun()函数中修改(在主线程中声明)?

Jon*_*eet 4

就其本身而言,这是线程安全的。但是哪些线程将读取myString?如果您在将其写入新线程后从主线程读取它,那么这不是线程安全的。