对不起昨晚后来就睡了,现在在公司,代码如下:
public class TestThread extends Thread{
String a;
TestThread(String str){
this.a=str;
}
public void run(){
for (int i=0;i<10;i++){
System.out.println(a+"---"+i);
}
}
public static void main(String[] args) {
TestThread aa=new TestThread("one");
TestThread bb=new TestThread("two");
aa.start();
bb.start();
}
}在ide里面的运行结果永远都是 one 完了才到two但是我在命令行(dos窗口)下,运行,就是很正常的,每次都不一样的杂乱交替请问这是什么原因呢?
public class TestThread extends Thread{
String a;
TestThread(String str){
this.a=str;
}
public void run(){
for (int i=0;i<10;i++){
System.out.println(a+"---"+i);
}
}
public static void main(String[] args) {
TestThread aa=new TestThread("one");
TestThread bb=new TestThread("two");
aa.start();
bb.start();
}
}在ide里面的运行结果永远都是 one 完了才到two但是我在命令行(dos窗口)下,运行,就是很正常的,每次都不一样的杂乱交替请问这是什么原因呢?
解决方案 »
- java指纹识别+谷歌图片识别技术==============贴出邮箱-送源码=================
- 求高手解决 死锁问题 一个例子
- discuz 7.2帖子自动回复问题
- JAVA内存中根据一个对象获取引用他的对象
- GUI程序运行错误?
- 我的tomcat服务嚣不能关闭了(用shutdown命令)提示说duplicate name in mainfest: classes-paht!!
- 程序在运行中,是否可以动态刷新Label的Text值?
- 希望各位大虾给点提示!!!!!!!
- java
- 初学者:::救救我,什么是Serializable
- 初学swing,一段程序n个疑问,大家帮帮忙?
- 在sql2000中插入数据的问题
public class TestThread extends Thread{
String a;
TestThread(String str){
this.a=str;
}
public void run(){
for (int i=0;i<10;i++){
System.out.println(a+"---"+i);
}
}
public static void main(String[] args) {
TestThread aa=new TestThread("one");
TestThread bb=new TestThread("two");
try {
Thread.sleep(10);
}
catch (InterruptedException ex) {
}
aa.start();
bb.start();
}
}
System.out.println(a+"---"+i);
}
改成
for (int i=0;i<100;i++){
System.out.println(a+"---"+i);
}
或者加上sleep:
for (int i=0;i<10;i++){
System.out.println(a+"---"+i);
sleep(100);
}
不加sleep有些操作系统可能会让线程独占CPU的时间的
在IDE里面输出到IDE的窗口
而在DOS下是输出到DOS的CONSOLE,两个处理字符流的机制不一样!
或许确实是如闲云散步 所说的原因吧,其实也不是什么原则性的大问题,只是我觉得实在是太奇怪了,所以想问个明白,呵呵。
另外回楼上,也不是重复次数的原因。谢谢 闲云散步,那小弟就把分数奉上了,初来,分数不多,,只开了10分,还望大家不要见笑啊呵呵
public void run(){
for (int i=0;i<10;i++){
System.out.println(a+"---"+i);
System.out.flush();
}