java多線程中執(zhí)行多個(gè)程序的實(shí)例分析
我們知道多線程因?yàn)橥瑫r(shí)處理子線程的能力,對(duì)于程序運(yùn)行來(lái)說(shuō),能夠達(dá)到很高的效率。不過(guò)很多人對(duì)于多線程的執(zhí)行方法還沒(méi)有嘗試過(guò),本篇我們將為大家介紹創(chuàng)建線程的方法,在這個(gè)基礎(chǔ)上,對(duì)程序執(zhí)行多條命令的方法進(jìn)行展示。下面我們就來(lái)看看具體的操作步驟吧。
1、創(chuàng)建線程對(duì)象我們需要用到Thread類,該類是java.lang包下的一個(gè)類,所以調(diào)用時(shí)不需要導(dǎo)入包。下面我們先創(chuàng)建一個(gè)新的子類來(lái)繼承Thread類,然后通過(guò)重寫(xiě)run()方法(將需要同時(shí)進(jìn)行的任務(wù)寫(xiě)進(jìn)run()方法內(nèi)),來(lái)達(dá)到讓程序同時(shí)做多件事情的目的。
import java.awt.Graphics; import java.util.Random; public class ThreadClass extends Thread{ public Graphics g; //用構(gòu)造器傳參的辦法將畫(huà)布傳入ThreadClass類中 public ThreadClass(Graphics g){ this.g=g; } public void run(){ //獲取隨機(jī)的x,y坐標(biāo)作為小球的坐標(biāo) Random ran=new Random(); int x=ran.nextInt(900); int y=ran.nextInt(900); for(int i=0;i<100;i++){ g.fillOval(x+i,y+i,30,30); try{ Thread.sleep(30); }catch(Exception ef){ } } } }
2、在主類的按鈕事件監(jiān)聽(tīng)器這邊插入這樣一段代碼,即每按一次按鈕則生成一個(gè)ThreadClass對(duì)象。
public void actionPerformed(ActionEvent e){ ThreadClass thc=new ThreadClass(g); thc.start(); }
3、在這里我們生成ThreadClass對(duì)象并調(diào)用start()函數(shù)后,線程被創(chuàng)建并進(jìn)入準(zhǔn)備狀態(tài),每個(gè)線程對(duì)象都可以同時(shí)獨(dú)立執(zhí)行run()方法中的函數(shù),當(dāng)run()方法中的代碼執(zhí)行完畢時(shí)線程自動(dòng)停止。
java8多線程運(yùn)行程序?qū)嵗?/span>
public class Main { //method to print numbers from 1 to 10 public static void printNumbers() { for (int i = 1; i <= 10; i++) { System.out.print(i + " "); } //printing new line System.out.println(); } //main code public static void main(String[] args) { //thread object creation Thread one = new Thread(Main::printNumbers); Thread two = new Thread(Main::printNumbers); //starting the threads one.start(); two.start(); } }
輸出
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
到此這篇關(guān)于java多線程中執(zhí)行多個(gè)程序的實(shí)例分析的文章就介紹到這了,更多相關(guān)java多線程中執(zhí)行多個(gè)程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中IO流 RandomAccessFile類實(shí)例詳解
這篇文章主要介紹了Java中IO流 RandomAccessFile類實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05詳解IDEA中SpringBoot整合Servlet三大組件的過(guò)程
這篇文章主要介紹了詳解IDEA中SpringBoot整合Servlet三大組件的過(guò)程,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11詳解spring cloud config實(shí)現(xiàn)datasource的熱部署
這篇文章主要介紹了詳解spring cloud config實(shí)現(xiàn)datasource的熱部署,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01SpringBoot項(xiàng)目發(fā)送釘釘消息功能實(shí)現(xiàn)
在工作中的一些告警需要發(fā)送釘釘通知,有的是發(fā)給個(gè)人,有的要發(fā)到群里,這時(shí)項(xiàng)目就需要接入釘釘,實(shí)現(xiàn)發(fā)消息的功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-02-02SpringBoot啟動(dòng)security后如何關(guān)閉彈出的/login頁(yè)面
這篇文章主要介紹了SpringBoot啟動(dòng)security后如何關(guān)閉彈出的login頁(yè)面問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12