2-8自由编程

2-8自由编程

编程如下,运行出来只有一种结果,是我代码哪里有问题吗?还是我的编译器运行有问题呀?

package imooc.com.thread;


//2-8 自由编程

class Cat implements Runnable {


@Override

public void run() {

// TODO Auto-generated method stub

for (int i = 0; i < 3; i++) {

System.out.println(Thread.currentThread().getName() + "A cat");

}

}


}


class Dog implements Runnable {


@Override

public void run() {

// TODO Auto-generated method stub

for (int i = 0; i < 3; i++) {

System.out.println(Thread.currentThread().getName() + "A dog");

}

}

}


public class Free2 {

public static void main(String[] args) {

Cat cat = new Cat();

Thread th1 = new Thread(cat);

th1.start();


Dog dog = new Dog();

Thread th2 = new Thread(dog);

th2.start();


for (int i = 0; i < 3; i++) {

System.out.println("main thread");

}

}

}

运行结果:

Thread-0A cat

Thread-0A cat

Thread-0A cat

main thread

main thread

main thread

Thread-1A dog

Thread-1A dog

Thread-1A dog

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

       同学你好,建议同学在主方法中如下图方式编写,因为线程执行较快。如果th1启动后再去创建Dog对象,th2线程。在Dog还未创建好的情况下,th1可能就已经运行完毕了。

       http://img1.sycdn.imooc.com//climg/5d0338530001fcbc05180313.jpg

       如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • qq_心晴_29 提问者 #1
    谢谢。 同一个工程内的不同包里面定义了不同的功能(比如说一个包是上面这个2-8 自由编程,一个包是5-3自由编程的作业),那么点运行的时候,是运行哪个包的文件呢?我感觉有时候是运行我打开的这个文件,有时候是运行别的文件,怎么设置运行某一个文件呢?
    2019-06-14 16:23:28
吃吃吃鱼的猫 2019-06-14 18:03:16

同学你好,可以点击运行按钮旁边的倒三角选择运行的文件。

http://img1.sycdn.imooc.com//climg/5d0370c300012cfa03110326.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师