就是整个程序段具体是怎样编译 我看这个有一点不懂  望高手帮我耐心解释清楚具体的流程 
public class MyThread extends Thread {
private static int count=0;
public void run(){
int i;
for(i=0;i<100;i++){
count=count+1;
System.out.println("My name is"+getName()+"count="+count);
try{
sleep(10);
}catch(InterruptedException e){

}
}
}public MyThread(String name){
super(name);
}}和这段程序代码
public class mulThread {
public static void main(String argv[]){
MyThread trFirst,trSecond;
trFirst=new MyThread("First Thread");
trSecond=new MyThread("Second Thread");
trFirst.start();
trSecond.start();

}}

解决方案 »

  1.   

    Thread是java中的线程类,MyThread继承了Thread,run方法是MyThread要做的事情,
    trFirst=new MyThread("First Thread");
    trSecond=new MyThread("Second Thread");
    trFirst.start();
    trSecond.start();
    分别new出两个MyThread线程,启动。
      

  2.   


    基本就是这样 run方法就是具体线程的实现现在可以继承Thread类,也可以实现Runnable接口!去看一点多线程的基础 就知道了
      

  3.   


    错别字。。
    基本就是这样 run方法就是线程具体的实现线程可以继承Thread类,也可以实现Runnable接口!去看一点多线程的基础 就知道了
      

  4.   

    继承Thread类,实现Runnable接口 是自定义线程的两个方法这里是相当于两个厨师一个锅,两个人轮流用。你看看测试结果就能明白
      

  5.   


    /*定义一个类名字叫MyThread,该类继承自Thread类 */
    public class MyThread extends Thread {
    private static int count = 0; //定义一个int类型静态变量,名字叫count,值为0/*重写Thread类得run()方法,当线程启动的时候,执行这个run()方法 */
    public void run() {
    int i;
    for (i = 0; i < 100; i++) { //循环100次
    count = count + 1; //每次循环count就自动+1(count作为计数器用)[备注:你这个count还没初始化呢?]
    System.out.println("My name is" + getName() + "count=" + count); //每次循环打印一句话
    try {
    sleep(10); //每次循环线程睡眠10毫秒
    } catch (InterruptedException e) { }
    }
    }/*自定义类MyThread类得构造方法,方法体为调用Thread类的构造方法 */
    public MyThread(String name) {
    super(name);
    }}/*定义个类名字叫nulThread,建议楼主以后写类名首字母要大写,谢谢*/
    public class mulThread {
    public static void main(String argv[]) {  //main()方法,没什么好说的了
    MyThread trFirst, trSecond; //定义两个变量,注意这是引用,类型为MyThread,名字分别叫trFirst, trSecond
    trFirst = new MyThread("First Thread"); //在内存中实例化两个MyThread对象,分别给上面的两个引用名称引用
    trSecond = new MyThread("Second Thread");
    trFirst.start(); //启动线程,执行线程体中的run()方法
    trSecond.start(); //启动线程,执行线程体中的run()方法 }}谢谢,希望对你有帮助
      

  6.   


            trFirst  = new MyThread("First  Thread");
    trSecond = new MyThread("Second Thread");实例化变量 且给name赋值接着调用start启动线程 持行run里面的代码我认为你要问的应该是为什么count打印出来的数据会变动?   由于count = count + 1;没有加锁 所以他不同步,每个线程都可以同时访问
       当trFirst持行到count = count + 1;这句 但是并未持行结束trSecond也来访问count = count + 1;他们获取的count都是上次的值 相加后 得到同一个值 所以后期打印会发现最后count不固定 但是程序都是固定持行了100次 两个线程共200次
      

  7.   


    count = count + 1;  //每次循环count就自动+1(count作为计数器用)[备注:你这个count还没初始化呢?]实例化对象的时候就已经初始化了count 且是共享的 仅初始化一次
      

  8.   

    My name isFirst Threadcount=1
    My name isSecond Threadcount=2
    My name isFirst Threadcount=4
    My name isSecond Threadcount=4
    My name isFirst Threadcount=5
    My name isSecond Threadcount=6
    My name isSecond Threadcount=7
    My name isFirst Threadcount=8
    My name isSecond Threadcount=9
    My name isFirst Threadcount=10
    My name isFirst Threadcount=12
    My name isSecond Threadcount=12
    My name isFirst Threadcount=13
    ------------------------------------
    这个是我运行的一种结果的前几个,发现有的输出重复了,这种情况符合6楼heardy的说法