java多線程
什么是多線程?
在搞懂這個問題前,要明白什么是進(jìn)程,什么是線程?

打開任務(wù)管理器,以上的都是進(jìn)程,由此可以得出
進(jìn)程是一個應(yīng)用程序或者軟件。進(jìn)程是進(jìn)程的執(zhí)行場景
如果把一個進(jìn)程比做為一家公司,那么里面的員工就為線程。
進(jìn)程和線程的區(qū)別?
如果把阿里巴巴跟京東比做兩個進(jìn)程,那么兩者的資源(內(nèi)存)是不可共享的。
阿里巴巴的各個人員之間有可共享的(堆內(nèi)存跟方法區(qū))跟不可共享的(棧空間)。
棧空間是獨立的,一個線程一個棧
實現(xiàn)線程的最常用的兩種方式
1.
直接繼承Thread
重寫父類run方法

2.
直接實現(xiàn)Runnable接口,重寫父類run方法
然后創(chuàng)建線程對象
在創(chuàng)建Thread對象把線程對象放進(jìn)去

線程start跟run方法有什么區(qū)別?
start會開啟一個新的棧空間,線程跟主線程main線程可以同時運行
但是run等于只是一個普通的方法調(diào)用,不符合線程同時運行的標(biāo)準(zhǔn)
浙公網(wǎng)安備 33010602011771號