黑马程序员技术交流社区
标题:
我看到的一个多线程问题
[打印本页]
作者:
邓飞飞
时间:
2012-4-8 10:11
标题:
我看到的一个多线程问题
class Hello extends Thread {
public void run() {
for (int i = 0; i < 7; i++) {
if (count > 0) {
System.out.println("count= " + count--);
}
}
}
public static void main(String[] args) {
hello h1 = new hello();
hello h2 = new hello();
hello h3 = new hello();
h1.start();
h2.start();
h3.start();
}
private int count = 5;
}
我要问的问题是为什么最后定义一个private int count = 5; 还有一个问题是为什么要把主函数Main 放在类Hello 中 可以把主函数拿到类Hello外吗
作者:
niceBoy
时间:
2012-4-8 10:18
我要问的问题是为什么最后定义一个private int count = 5;
if (count > 0) {
System.out.println("count= " + count--);
} 说明count是用来判断此输出次数
还有一个问题是为什么要把主函数Main 放在类Hello 中 可以把主函数拿到类Hello外吗?这个无所谓的,主函数只要放类中就成,至于哪个类,你自己看办,一般放在和文件名同名的类中,阅读性好些
作者:
曾晓文
时间:
2012-4-8 10:22
定义一个count成员变量,只是为了运行时,看多线程运行时线程的切换效果,i 的值应该写大一点,运行效果比较明显。
主函数也是一个函数,属于一个类中的成员。所以要放在类里边。
作者:
邓海涛
时间:
2012-4-8 10:54
你可以把count=5想象成五张还没有卖出去的票,所以用private来限制权限,当线程运行的时候就把票count=5传给买票机买票,每当你卖出一张票的时候count自动减一,当count=0 的时候表示票卖光了。这样不知道你是不是能更好的理解那个private count = 5
作者:
zhouxp3323
时间:
2012-4-8 13:25
这个private int count=5; 放最后也一样,它是个成员变量,当你开启3个线程的时候它就开始操作这个数了,main方法可以拿到Hello类的外面,但是要定义在别的类中
作者:
pray
时间:
2014-4-26 05:16
人生没有彩排,每天都是现场直播!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2