在之前的章節(jié)中,我們都是假設(shè)程序中只有一條執(zhí)行流,程序從main方法的第一條語句逐條執(zhí)行直到結(jié)束。從本節(jié)開始,我們討論并發(fā),在程序中創(chuàng)建線程來啟動(dòng)多條執(zhí)行流,并發(fā)和線程是一個(gè)復(fù)雜的話題,本節(jié),我們先來討論Java中線程的一些基本概念。
創(chuàng)建線程
線程表示一條單獨(dú)的執(zhí)行流,它有自己的程序執(zhí)行計(jì)數(shù)器,有自己的棧。下面,我們通過創(chuàng)建線程來對線程建立一個(gè)直觀感受,在Java中創(chuàng)建線程有兩種方式,一種是繼承Thread,另外一種是實(shí)現(xiàn)Runnable接口,我們先來看第一種。
繼承Thread
Java中java.lang.Thread這個(gè)類表示線程,一個(gè)類可以繼承Thread并重寫其run方法來實(shí)現(xiàn)一個(gè)線程,如下所示:
public class HelloThread extends Thread { @Override public void run() { System.out.println("hello"); } }
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式