问答详情
源自:2-3 Java线程-隋唐演义实战开发---演员简介

Thread actor=new Thread(new Actor(),"Mr.Thread");

为什么如题的代码运行结果不对 编译器也不报错呢

提问者:慕神1905738 2016-10-25 17:07

个回答

  • 慕神1905738
    2016-10-25 18:11:57

    package com.imooc.concurrent;


    public class Actor extends Thread {


    public void run() {

    System.out.println(getName() + "is an actor");

    int count = 0;

    boolean a=true;

    while (a){

    System.out.println(getName() + "show begins" + (++count));

    if (count==100)

    {

    a=false;

    }

    if(count%10==0){

    try {

    Thread.sleep(1000);

    } catch (InterruptedException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    }

    // System.out.println(getName() + "show begins" + (++count));

    System.out.println(getName() + "show is over");

    }


    public static void main(String[] args) {

    // Thread actor = new Actor();

    //

    // actor.setName("Mr.Thread");

    Thread actor=new Thread(new Actor(),"Mr.Thread");

    actor.start();

    Thread actressThread= new Thread(new Actress(),"Ms.Runnable");

    actressThread.start();

    }


    }


     class Actress implements Runnable{

    public void run() {

    System.out.println(Thread.currentThread().getName() + "is an actor");

    int count = 0;

    boolean a=true;

    while (a){

    System.out.println(Thread.currentThread().getName() + "show begins" + (++count));

    if (count==100)

    {

    a=false;

    }

    if(count%10==0){

    try {

    Thread.sleep(1000);

    } catch (InterruptedException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    }

    // System.out.println(getName() + "show begins" + (++count));

    System.out.println(Thread.currentThread().getName() + "show is over");

    }

     }


  • 1039732307
    2016-10-25 17:51:59

    Actor是否实现了Runable或继承了Thread,run方法是否有问题

  • 慕慕7454464
    2016-10-25 17:41:27

    查看下 Actor类 是否实现了 runable接口