我有该代码:
主类:
public class myTest {
public static void main(String[] args) {
try {
Thread t1 = new Thread(new myThreadClass("thread 1"), "thread 1");
t1.start();
} catch (UnknownHostException ex) {
Logger.getLogger(glownyTest.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(glownyTest.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
我的线程类
public class myThreadClass extends Thread {
private HashSet<String> texts = new HashSet<String>();
public myThreadClass(String id) throws UnknownHostException, IOException {}
@Override
public void run() {
... collecting Strings into my hashSet ....
}
public HashSet<String> getTexts() {
return texts;
}
}
我尝试过打电话
t1.getTexts();
在启动线程后在我的主类中,但它不起作用 - 我想从我的主类级别访问文本 hashSet。如何实现?
最佳答案
如果您尝试访问属于您的类型 myThreadClass
的方法,那么您需要确保将该变量声明为该类型的实例。
像这样:
myThreadClass t1 = new myThreadClass("thread 1");
您可能会遇到一些问题...例如需要加入
Thread
以确保它完成填充HashSet
。
关于java - 如何获取正在运行的Java线程的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16732553/