前言

以前大家寫的都是單線程的程序,全是在main函數(shù)中調(diào)用方法,可以清楚的看到它的效率是特別低的,就像python中使用單線程取爬一個(gè)網(wǎng)站,可以說(shuō)能讓你等的吐血,因?yàn)閿?shù)據(jù)量實(shí)在太大了,今天我們就來(lái)看看java的并發(fā)編程多線程的學(xué)習(xí)

創(chuàng)建線程

創(chuàng)建一個(gè)線程可以有多種方法,比如繼承Thread類,實(shí)現(xiàn)Runnable接口......下面我們來(lái)詳細(xì)的看看創(chuàng)建的方法

繼承Thread

為什么繼承Thread可以直接調(diào)用start()方法啟動(dòng)線程呢,因?yàn)?code style="margin: 1px 5px; padding: 0px 5px !important; line-height: 1.8; vertical-align: middle; display: inline-block; font-family: "Courier New", sans-serif !important; font-size: 12px !important; background-color: rgb(245, 245, 245) !important; border: 1px solid rgb(204, 204, 204) !important; border-radius: 3px !important;">start()本身就是Thread的方法,也就是繼承了Thread的start()方法,因此這個(gè)類的對(duì)象可以調(diào)用start()啟動(dòng)線程

//繼承Threadpublic class MyThread extends Thread {    
    public void run() {