日期:2014-05-20 浏览次数:20903 次
public class TestThread1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Runner1 r = new Runner1();
//Thread t = new Thread();
r.start();
for(int i = 0; i < 100; ++i)
{
System.out.println("main thread:" + i);
}
}
}
class Runner1 extends Thread
{
public void run()
{
for(int i = 0; i < 100; ++i)
{
System.out.println(i);
}
}
}
public void run()
{
for(int i = 0; i < 100; ++i)
{
sleep(1000);
System.out.println(i);
}
}
------解决方案--------------------
不是这样写的
你对多线程理解反了
你这样想
Runnable是一个任务,比如一个类实现了一个任务,让这个类实现Runnable接口就表明这个任务有放在多线程里的可能。
Thread是一个线程,但没有任务,所以是一个空的线程。
new Thread(Runnable)就是把这个任务放进了线程里,让这个线程来执行这个任务,而不是由其它线程执行。
然后thread.start()就是把这个线程启动起来,线程就会执行任务了
这样理解就容易多了
------解决方案--------------------
你这两段代码都是按线程执行的呀,,有啥问题呐?
(其中第1段代码,打印100次太少了,看不出效果,把它改成1000就可以看出效果了~~~)
------解决方案--------------------
楼主怎么判断的程序没有多线程呢?1楼跟3楼实现没什么区别。
------解决方案--------------------
不能光看结果,是cpu执行太快了,你在每个for循环里面sleep 个1毫秒看看,就会有效果了
------解决方案--------------------
有交替打印