运用java编写一个继承thread类的类,然后实例化两个线程,并分别启动它们,并输出结果。

请大家帮忙,很急,谢谢... 请大家帮忙,很急,谢谢 展开
 我来答
乱八七招
2010-06-27 · 超过29用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:0
展开全部
public class TestThread extends Thread {
public static void main(String[] args) {
TestThread p = new TestThread();
Thread t1 = new Thread(p);
Thread t2 = new Thread(p);
t1.start();
t2.start();
System.out.println(t1.activeCount());
System.out.println(t2.activeCount());
}
}

activeCount()方法返回的是当前线程的线程组中活动线程的数目。结果是3,为什么是3呢?因为程序执行main方法时也相当于启动了一个线程。还有就是一定要在线程启动后调用这个方法并打印,不然编译不了,假如程序比较长,放在最后的话结果可能是1,因为那时你的线程已经死亡了、结束了,剩下的就是main这一个线程。
席宏阔U6
推荐于2017-12-15 · TA获得超过686个赞
知道小有建树答主
回答量:142
采纳率:100%
帮助的人:216万
展开全部
public class E2 {
public static void main(String[] args) {
People teacher, student;
ComputerSum sum = new ComputerSum();
teacher = new People("老师", 200, sum);
student = new People("学生", 200, sum);
teacher.start();
student.start();
}
}

class ComputerSum {
int sum;

public void setSum(int n) {
sum = n;
}

public int getSum() {
return sum;
}
}

class People extends Thread {
int timeLength;// 线程的休眠时间长度
ComputerSum sum;

People(String s, int timeLength, ComputerSum sum) {
setName(s);// 调用Thread类的方法setName为线程起名字
this.timeLength = timeLength;
this.sum = sum;
}

public void run() {
for (int i = 1; i <= 5; i++) {
int m = sum.getSum();
sum.setSum(m + 1);
System.out.println("我是" + getName() + ", 现在的和:" + sum.getSum());
try {
sleep(timeLength);
} catch (InterruptedException e) {
}
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式