本帖最后由 李盼 于 2012-6-16 15:04 编辑
你应该问单线程和多线程之间的区别吧!
单线程就是按顺序依次执行,例如
main{ method1(); method2();method3();method4()........ }
那么肯定是method1()方法执行完了才会去执行method2(),如果method1()不执行完method2()永远不会执行。
多线程就是在mian线程外,另外再开启一个线程执行,例如:
main{ new Thread(new Run).start();method1();method3()......}
这个就是执行到new Thread(new Run).start()时候,启动一个新的线程去执行Run类的实例对象中的run方法。然后main线程继续执行method1()方法,此时method1()方法不需要等待run方法执行完就可以执行。
顺便给你普及下CUP是如何多线程的,其实CUP是在短时间内不停的切换线程去执行,因为切换速度很快,所以给人的感觉就是多个线程在一起执行。
再给你举个例子,甲乙两个人一起参加跑步,甲跑10000m,乙跑100m,单线程的执行过程就是如果甲先到的赛场,那么我们就让甲先跑完10000m,乙再开始跑,显然乙就要等很久了。
多线程就是裁判员看甲先来了,让他跑,然后看乙也过来了,就说:甲你先休息会,让乙跑几步,然后这个时候赛道就让乙去跑,甲就在旁边休息,乙跑了50m,裁判员又说,乙,你先休息会,让甲去跑,然后乙就停止休息,甲就去跑,这样乙也许用个一两次就跑完了100m 不需要等待甲跑完。
|