首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

神啊救救小弟我吧,小弟我只想用两个线程来完成这个任务,可是总是不好使

2012-03-04 
神啊,救救我吧,我只想用两个线程来完成这个任务,可是总是不好使 publicclassThh{/***@paramargs*/publicst

神啊,救救我吧,我只想用两个线程来完成这个任务,可是总是不好使

public   class   Thh   {

/**
  *   @param   args
  */
public   static   void   main(String[]   args)   {
 
 
Thh   t=new   Thh();
Inner   in=t.new   Inner();
for(int   i=0;i <2;i++){
Thread   tt=new   Thread(in);
tt.start();
}
 
}
class   Inner   implements   Runnable{
public   void   run(){
for(int   i=0;i <100;i++){
System.out.println(i);
}
}
}

}
我就是想演示一下多线程,我的目标是要用两个线程来同时打印输出public   void   run()里的语句,可是现在执行的效果是一个线程做一次循环,然后另外一个线程在做一次循环,不是两个线程同时执行run方法


[解决办法]
输出100个数一眨眼的功夫就完了所以看不到效果
可以在run()方法里加上这句:Thread.sleep(100);
[解决办法]
主要是时间片轮换间隔问题,没等轮到NEXT线程,100个数就打印完了!
[解决办法]
Thh t=new Thh();

for(int i=0;i <2;i++){
Thread tt=new Thread(t.new Inner());
tt.start();
}
[解决办法]
public class SimpleThreadDemo {
// 启动线程的主方法
public static void main(String[] args) {
new SimpleThread1( "线程1 ").start(); // 线程1启动
new SimpleThread1( "线程2 ").start(); // 线程2启动
}
}

class SimpleThread1 extends Thread {

public SimpleThread1(String str) {
super(str); // 设置线程的标题
}

public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(i + " " + getName());
// 让程序暂时停止执行的时间,以便更清楚地观察线程相互执行
try {
sleep((long) (Math.random() * 1000));
} catch (InterruptedException e) {
}
}
System.out.println(getName() + "完成 "); // 显示线程的完成信息
}
}

热点排行