读书人

多线程程序跟普通程序的根本区别

发布时间: 2012-06-28 15:20:03 作者: rapoo

多线程程序和普通程序的根本区别

这2者是有根本区别的。

?

根本区别是:多线程程序是不会阻塞的,是并发的。

?

而普通程序是按照传统的流程进行的,如果中途遇到while(true)的话,那么程序永远在此死循环,绝对不会再往下走。而多线程程序不会,它是并发的。在CPU的下一个时间片中,多线程程序就会执行它自己的东西,完全不管你这里的死循环。

?

举个例子吧:

?

?

看下面的代码片段:

//普通代码段new  keyboardNormal(s).run();//此方法里有死循环System.out.println("我是河北越狱犯,你找不着我的哈哈111");

?

多线程程序:

//多线程程序new Thread(new  keybordrunnable(s)).start();//此方法里有死循环System.out.println("我是河北越狱犯,你找不着我的哈哈222");

?如果是普通代码段的话,【我是河北越狱犯,你找不着我的哈哈111】这段话永远不会打印出来。因为它已经陷进了那个死循环中。

?

而如果是多线程的话,则会打印出来。因为死循环程序是另起了一个线程,和当前打印所在的线程是并列的,所以它会并发执行。。。。犀利吧?

读书人网 >开源软件

热点推荐