java线程的创建
線程的創(chuàng)建有兩種方法:
? ? ?1、實現(xiàn)Runnable借口
? ? ?2、可以繼承Thread類
一、Thread類?
? Thread是Java中實現(xiàn)多線程的類,Thread中的run()方法實現(xiàn)了線程的啟動。通過繼承Thread類并覆寫run()方法可實現(xiàn)一個線程。Thread類在java.lang包中實現(xiàn),而這個包是默認(rèn)載入的,因此不需要import。?
ThreadDome01.java?
程序ThreadDemo01.java中實現(xiàn)了兩個線程,但在執(zhí)行時沒有同時執(zhí)行,這是由于雖然在主程序中建立了兩個線程,但是將兩個線程順序執(zhí)行。若要并發(fā)執(zhí)行多個線程,還需要啟動操作系統(tǒng)對多線程的支持,應(yīng)當(dāng)采用Thread類中的start()方法。將主程序改成:?
Java代碼?
注意:,start()會自動去調(diào)用run()方法。不需要覆寫Thread類中的start()方法。?
二、Runable接口?
??? 由于Java是單繼承關(guān)系,如果繼承了Thread類就無法再繼承其他的類,因此繼承Thread的方法不常用,Java中還提供了一個實現(xiàn)多線程的方法,即Runable接口。?
??? 由于Runable接口中只定義了一個方法,即run(),之前提到多線程需要操作系統(tǒng)的支持,而run()方法是無法啟動的,需要通過Thread類的start()啟動操作系統(tǒng)對多線程的支持。在Thread類中提供了一個以Runabel類型參數(shù)的構(gòu)造函數(shù),因此另一個實現(xiàn)多線程的方法是先實現(xiàn)Runable接口,然后再通過Thread(Runable)構(gòu)建一個線程,通過Thread中的start()方法間接啟動操作系統(tǒng)對多線程的支持。如下例子如示:?
ThreadDome02.java?
Java代碼?
總結(jié)
- 上一篇: java中insert函数
- 下一篇: python中对文件、文件夹(文件操作函