如何获取运行Java线程的属性?
我有这样的密码: 主要类别:如何获取运行Java线程的属性?,java,multithreading,Java,Multithreading,我有这样的密码: 主要类别: 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(g
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;
}
}
在我的主类中,在启动线程之后,但它不起作用-我想从我的主类级别访问文本哈希集。如何实现它?不要为程序逻辑滥用
线程类。您应该构建自定义的Runnable
实现,并将其传递到线程的构造函数中。这样,线程控制和程序逻辑之间的关注点分离将更加明显。不要滥用程序逻辑的线程类。您应该构建自定义的Runnable
实现,并将其传递到线程的构造函数中。这样,线程控制和程序逻辑之间的关注点分离将更加明显。如果您试图访问属于您的类型的方法myThreadClass
,则需要确保将变量声明为该类型的实例
像这样:
myThreadClass t1 = new myThreadClass("thread 1");
您可能会遇到一些问题。。。就像需要加入线程以确保它完成填充哈希集如果您试图访问属于您的类型myThreadClass
的方法,那么您需要确保将变量声明为该类型的实例
像这样:
myThreadClass t1 = new myThreadClass("thread 1");
您可能会遇到一些问题。。。像需要加入线程
以确保它完成对哈希集的填充一样
您可以创建myThreadClass的引用
myThreadClass t1
或
将引用转换为myThreadClass,如
((myThreadClass )t1).getTexts();
这会有用的 您可以创建myThreadClass的引用
myThreadClass t1
myThreadClass t1 = new myThreadClass("thread 1");
t1.start()
try{
t1.join();
t1.getTexts();
}catch(InterruptedException x){
....
}
或
将引用转换为myThreadClass,如
((myThreadClass )t1).getTexts();
这会有用的
myThreadClass t1 = new myThreadClass("thread 1");
t1.start()
try{
t1.join();
t1.getTexts();
}catch(InterruptedException x){
....
}
通常类名的第一个字母是大写
通常类名的第一个字母是大写 你所说的它不工作是什么意思
?你所说的“属性”是什么意思?你可以在哪个构造函数中传递线程
实例作为第一个参数?您的类myThreadClass
正在扩展线程,是否改为实现Runnable
?如何填写文本
?当您访问它时,它可能是空的,您需要等待,直到有东西在那里,或者在循环中轮询它…嗯,当我刚刚执行myThreadClass t2=new myThreadClass()…-我可以调用我的函数,就是这样。:)请提供可编译/可运行的代码示例t1
属于Thread
类型,它不知道Text
,并且MyThreadClasS
没有默认构造函数。您所说的不工作是什么意思?
?您所说的“属性”是什么意思?什么构造函数可以将Thread
实例作为第一个参数传递?您的类myThreadClass
正在扩展线程,是否改为实现Runnable
?如何填写文本
?当您访问它时,它可能是空的,您需要等待,直到有东西在那里,或者在循环中轮询它…嗯,当我刚刚执行myThreadClass t2=new myThreadClass()…-我可以调用我的函数,就是这样。:)请提供可编译/可运行的代码示例t1
属于Thread
类型,不知道文本
,MyThreadClasS
没有默认构造函数。