android – 这个线程安全吗?

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

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

public class myClass implements Runnable
{
    private String myString;

    @Override
    public void run()
    {
        myString = "Some Value";
    }
}

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

myClass class = new myClass();
Thread thread = new Thread(class);
thread.start()

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

解决方法

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

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...