回 帖 发 新 帖 刷新版面

主题:java线程

public class Tux extends Thread{
static String sName = "vandeleur";
public static void main(String argv[]){
    Tux t = new Tux();
    t.piggy(sName);
    System.out.println(sName);
}

public void piggy(String sName){
    sName = sName + " wiggy";
    start();
}

public void run(){
    for(int i=0;i < 4; i++){
    sName = sName + " " + i;
     }  
   } 

为什么输出的是vandeleur,新的线程为什么没有改变主函数的sName这个变量的值?
小弟新手,还望大虾们的帮助,谢谢了

回复列表 (共1个回复)

沙发

核心提示:Allen Holub指出,Java编程语言的线程模型可能是此语言中最薄弱的部分。它完全不适合实际复杂程序的要求,而且也完全不是面向对象的。本文建议对Java语言进行重大修改和补充,以解决这些问题。Java语言的线程模型是此语言的一个最难另人满足的部分。尽管Java语言本身就支持线程编.

我来回复

您尚未登录,请登录后再回复。点此登录或注册