访问创建线程的类的成员

时间:2012-02-03 16:18:11

标签: java multithreading

我有多个具有相同名称的公共变量的类。 说一个字符串变量“str”。

我有一个线程类说“thread_update_str”

我需要做的是将调用它的类中的str变量从线程的方法运行中调用到当前日期时间。

任何人都可以帮我解释如何才能实现这样的目标 任何帮助将不胜感激......

非常感谢

此外,我并不一定需要str的值在所有类中都相同。

Class abc
{
    String str = "a";
    new str_Thread().start();
    System.out.println(str);
}

Class xyz
{
    String str = "x";
    new str_Thread().start();
    System.out.println(str);
}

Class lmn
{
    String str = "l";
    new str_Thread().start();
    System.out.println(str);
}

public class str_Thread extends Thread {

public void run() {
    for (int i = 1; i > 0; i++) {
        try {

            //make the str variable equal to i.toString();
            sleep((int)(10000));

        System.out.println("DONE!"+i);
        } catch (Exception e) {e.printStackTrace();}
    }
}
}

2 个答案:

答案 0 :(得分:0)

您可以拥有这样的通用界面

 public interface ThreadCallback{
     public void setStr(String value);
 }

str_Thread

中有一个像这样的构造函数
public str_Thread(ThreadCallback callback){
    this.callback = callback;
}

您需要做的就是实现界面并从setStr()

调用run()

答案 1 :(得分:0)

您的类应该使用方法

实现一个接口
void setStr(String str);

你的线程类获取了将String设置为构造函数arg的对象。