多线程程序和普通程序的根本区别
这2者是有根本区别的。
?
根本区别是:多线程程序是不会阻塞的,是并发的。
?
而普通程序是按照传统的流程进行的,如果中途遇到while(true)的话,那么程序永远在此死循环,绝对不会再往下走。而多线程程序不会,它是并发的。在CPU的下一个时间片中,多线程程序就会执行它自己的东西,完全不管你这里的死循环。
?
举个例子吧:
?
?
看下面的代码片段:
//普通代码段new keyboardNormal(s).run();//此方法里有死循环System.out.println("我是河北越狱犯,你找不着我的哈哈111");
?
多线程程序:
//多线程程序new Thread(new keybordrunnable(s)).start();//此方法里有死循环System.out.println("我是河北越狱犯,你找不着我的哈哈222");
?如果是普通代码段的话,【我是河北越狱犯,你找不着我的哈哈111】这段话永远不会打印出来。因为它已经陷进了那个死循环中。
?
而如果是多线程的话,则会打印出来。因为死循环程序是另起了一个线程,和当前打印所在的线程是并列的,所以它会并发执行。。。。犀利吧?