在进行多线程编程中比较重要也是比较困难的一个操作就是如何获取线程中的信息大多数人会采取比较常见的一种方法就是将线程中要返回的结果存储在一个字段中然后再提供一个获取方法将这个字段的内容返回给该方法的调用者如以下的ReturnThreadInfo类
package threadtest;
/**
*
* @author shi mingxiang
*/
public class ReturnThreadInfo extends Thread {
private String str;
public ReturnThreadInfo() {
thisstr = Hello;
}
public void run(){
thisstr = Hello World!;
}
public String getThreadInfo(){
return thisstr;
}
}
大家可以看到该类是一个线程类并含有一个初始值为Hello的字段str以及一个可以返回str值的方法getThreadInfo()而且当这个线程启动后str会被赋于新值Hello World!现在我想在另外一个类中启动ReturnThreadInfo线程并通过getThreadInfo()方法获取值为Hello World!的变量并打印输出到控制台中以下给出一个实现该功能的Main类
package threadtest;
/**
*
* @author shi mingxiang
*/
public class Main{
public Main() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
ReturnThreadInfo returnThreadInfo = new ReturnThreadInfo();
returnThreadInfostart();//创建并启动ReturnThreadInfo线程
Systemoutprintln(returnThreadInfogetThreadInfo());//获取并输出returnThreadInfo对象的str的值
}
}
[] [] []