對線程的創建

一,概括??

二,線程構建方式一(繼承Thread類)

三,案例

父類:

package Duoxiancheng;public abstract class Name {public static void main(String[] args) {//3,創建一個Thread線程類對象Thread t1 =new ZHiLeiA();//4,啟動線程t1.start();for (int i = 0; i < 4; i++) {System.out.println("軟件");}}}

?子類:

package Duoxiancheng;
/*
1.讓子類繼承Thread線程類
* */public class ZHiLeiA extends Thread {//2,必須重寫父類的run方法;@Overridepublic void run(){for (int i = 0; i <4 ; i++) {System.out.println("星火666");}}
}

注意事項:

?四,線程構建方式二(實現Runnable接口)

五,案例

?父類:

package Duoxiancheng;public class Name2 {public static void main(String[] args) {//3,創建任務對象Runnable r =new ZhiLieB();//4,把任務對象處理new Thread(r).start();for (int i = 0; i < 5; i++) {System.out.println("主線程運行"+i);}}
}

子類:

package Duoxiancheng;
//1,實現Runnable接口
public class ZhiLieB implements Runnable {//2,重寫run方法@Overridepublic void run() {//執行任務for (int i = 0; i < 5; i++) {System.out.println("次線程運行"+i);}}
}

注意事項:

六,線程創建方式二的匿名內部類(簡化寫法)?

七,案例:
?

package Duoxiancheng;public class Name2_2 {public static void main(String[] args) {//1,直接創建Runnable接口的匿名內部類
//    Runnable r =new ZhiLieB(){
//     @Override
//     public void run() {
//        //執行任務
//         for (int i = 0; i < 5; i++) {
//             System.out.println("次線程運行"+i);
//         }
//     }
//    };
//    new Thread(r).start();
//        for (int i = 0; i <5 ; i++) {
//            System.out.println("主線程運行"+i);
//        }
//    }//2,簡化一
//    new Thread(new Runnable() {
//        @Override
//        public void run() {
//            for (int i = 0; i < 5; i++) {
//                System.out.println("次線程運行"+i);
//            }
//        }
//    }).start();
//        for (int i = 0; i <5 ; i++) {
//        System.out.println("主線程運行"+i);
//    }//3,簡化二new Thread(()->{for (int i = 0; i < 5; i++) {System.out.println("次線程運行"+i);}}).start();for (int i = 0; i <5 ; i++) {System.out.println("主線程運行"+i);}}
}

八,線程構建方式三(實現Gallable接口)

九,案例

?父類:

package Duoxiancheng;import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;public class Name3 {public static void main(String[] args) throws ExecutionException, InterruptedException {//3,創建一個callable的對象Callable<String> call =new ZhiLieC(100);//4,封裝對象FutureTask <String>f1=new FutureTask<>(call);//5,交給線程對象new Thread(f1).start();//6,獲取線程執行后的結果String rs =f1.get();System.out.println(rs);}
}

子類:

package Duoxiancheng;import java.util.concurrent.Callable;
//1,實現接口
public class ZhiLieC implements Callable<String> {private int n;public ZhiLieC(int n){this.n=n;}//2,重寫call方法@Overridepublic String call() throws Exception {//描述線程任務,返回結果//例:求1-n的和返回int sum =0;for (int i = 1; i <=n ; i++) {sum += i;}return "線程所求之和為"+sum;}
}

注意事項:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/160944.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160944.shtml
英文地址,請注明出處:http://en.pswp.cn/news/160944.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

匯編語言學習筆記

匯編語言的不同種類 as86匯編&#xff1a;能產生16位代碼的Intel 8086匯編 mov ax, cs //cs→ax&#xff0c;目標操作數在前GNU as匯編&#xff1a;產生32位代碼&#xff0c;使用AT&T系統V語法 movl var&#xff0c; %eax // var→%eax&#xff0c;目標操作數在后內嵌匯編…

Android異步之旅:探索AsyncTask

前言&#xff1a; 在Android應用程序開發中&#xff0c;異步操作是非常常見的需求。比如&#xff0c;我們可能需要在后臺線程中執行網絡請求、數據庫操作或者其他耗時的任務&#xff0c;而不阻塞UI線程。為了實現這些異步操作&#xff0c;Android提供了多種方式&#xff0c;其…

基于Qt的UDP通信、TCP文件傳輸程序的設計與實現——QQ聊天群聊

&#x1f64c;秋名山碼民的主頁 &#x1f602;oi退役選手&#xff0c;Java、大數據、單片機、IoT均有所涉獵&#xff0c;熱愛技術&#xff0c;技術無罪 &#x1f389;歡迎關注&#x1f50e;點贊&#x1f44d;收藏??留言&#x1f4dd; 獲取源碼&#xff0c;添加WX 目錄 前言一…

PostgreSQL序列,怎么才能第二天重新從1開始計數

--確定日期最大值和每天序列號最大值 with cte as(select (((1::bigint)<<32)-1) as max_date_second,(((1::bigint)<<31)-1) as max_sn )select max_date_second,to_timestamp(max_date_second),max_sn,((max_date_second<<31)|max_sn) as max_val,(((max_d…

Selenium 元素不能定位總結

目錄 元素不能定位總結: 1、定位語法錯誤&#xff1a; 定位語法錯誤&#xff0c;如無效的xpath&#xff0c;css selector,dom路徑錯誤&#xff0c;動態dom 定位語法錯誤&#xff0c;動態路徑&#xff08;動態變化&#xff09; 定位策略錯誤&#xff0c;如dom沒有id用id定位…

研發探索:導購APP、查券返利機器人與淘客系統,全面對比與選擇

研發探究&#xff1a;導購APP、查券返利機器人與淘客系統&#xff0c;全面對比與選擇 在互聯網購物的時代&#xff0c;導購APP、淘客機器人和微賺淘客系統成為了消費者們的三大好幫手。它們各具優勢&#xff0c;但也存在一些不足。本文將為您詳細對比這三種工具&#xff0c;幫…

vue history路徑編碼

記錄今天遇到的一個問題&#xff1a; 問題現狀 有一個需要前端偽造302進行重定向的需求&#xff0c;我們需要將這樣的一個路徑&#xff1a;http://xxx.com/system-name/#/index&#xff0c;拼接在跳轉地址的后面&#xff0c;進行重定向。拼接的方式是這樣的&#xff1a; htt…

攻防世界-web-Confusion1

1. 題目描述 打開鏈接&#xff0c;如圖 點擊Login和Rigister&#xff0c;都報錯 但是有提示 指出了flag所在的位置&#xff0c;題目中直接能獲取到的信息暫時就這么些了 2. 思路分析 既然告訴了我們flag文件的位置&#xff0c;那么要讀取到這個文件&#xff0c;要么是任意文…

AI輔助帶貨直播場景源碼系統 附帶網站的搭建教程

互聯網技術的發展和普及&#xff0c;直播帶貨行業迅速崛起。然而&#xff0c;直播帶貨在帶來商機的同時&#xff0c;也面臨著諸多挑戰。如直播內容缺乏新意、轉化率低等問題。針對這些問題&#xff0c;AI輔助帶貨直播場景源碼系統應運而生&#xff0c;旨在利用人工智能技術&…

【高級滲透篇】網絡安全面試

【高級滲透篇】網絡安全面試 1.權限維持2.代碼安全Python語法相關 1.權限維持 Linux權限維持方法論 Windows權限維持方法論 2.代碼安全 Python 語法相關 1、Python的值類型和引用類型是哪些 Python 中的值類型包括&#xff1a; 數字類型&#xff08;如整數、浮點數、復數…

對接蘋果支付退款退單接口

前言 一般而言&#xff0c;我們其實很少對接退款接口&#xff0c;因為退款基本都是商家自己決定后進行操作的&#xff0c;但是蘋果比較特殊&#xff0c;用戶可以直接向蘋果發起退款請求&#xff0c;蘋果覺得合理會退給用戶&#xff0c;但是目前公司業務還是需要對接這個接口&am…

試試MyBatis-Plus可視化代碼生成器,太香了,你一定會感謝我

前言 在基于Mybatis的開發模式中&#xff0c;很多開發者還會選擇Mybatis-Plus來輔助功能開發&#xff0c;以此提高開發的效率。雖然Mybatis也有代碼生成的工具&#xff0c;但Mybatis-Plus由于在Mybatis基礎上做了一些調整&#xff0c;因此&#xff0c;常規的生成工具生成的代碼…

PC端使子組件的彈框關閉

子組件 <template><el-dialog title"新增部門" :visible"showDialog" close"close"> </el-dialog> </template> <script> export default {props: {showDialog: {type: Boolean,default: false,},},data() {retu…

【JavaSE】-5-嵌套循環

回顧 一、java語言特點 二、配置java環境 path 三、記事本 javac -d . java 包名.類名 四、eclipse 五、變量 定義變量 數據類型 變量名值; 六、相關的數據類型 ? 基本&#xff08;四類 、8種&#xff09;、引用 ? 類型轉換&#xff08;自動、強制&#xff09; ? 運…

Java面向對象(高級)-- 類中屬性賦值的位置及過程

文章目錄 一、賦值順序&#xff08;1&#xff09;賦值的位置及順序&#xff08;2&#xff09;舉例&#xff08;3&#xff09;字節碼文件&#xff08;4&#xff09;進一步探索&#xff08;5&#xff09;最終賦值順序&#xff08;6&#xff09;實際開發如何選 二、(超綱)關于字節…

1992-2021年省市縣經過矯正的夜間燈光數據(GNLD、VIIRS)

1992-2021年省市縣經過矯正的夜間燈光數據&#xff08;GNLD、VIIRS&#xff09; 1、時間&#xff1a;1992-2021年3月&#xff0c;其中1992-2013年為年度數據&#xff0c;2013-2021年3月為月度數據 2、來源&#xff1a;DMSP、VIIRS 3、范圍&#xff1a;分區域匯總&#xff1a…

SpringBoot : ch05 整合Mybatis

前言 隨著Java Web應用程序的快速發展&#xff0c;開發人員需要越來越多地關注如何高效地構建可靠的應用程序。Spring Boot作為一種快速開發框架&#xff0c;旨在簡化基于Spring的應用程序的初始搭建和開發過程。而MyBatis作為一種優秀的持久層框架&#xff0c;提供了對數據庫…

【Linux】-進程間通信-共享內存(SystemV),詳解接口函數以及原理(使用管道處理同步互斥機制)

&#x1f496;作者&#xff1a;小樹苗渴望變成參天大樹&#x1f388; &#x1f389;作者宣言&#xff1a;認真寫好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee? &#x1f49e;作者專欄&#xff1a;C語言,數據結構初階,Linux,C 動態規劃算法&#x1f384; 如 果 你 …

中低壓MOSFET 2N7002T 60V 300mA 雙N通道 采用SOT-523封裝形式

2N7002KW小電流雙N通道MOSFET&#xff0c;電壓60V電流300mA&#xff0c;采用SOT-523封裝形式。低Ros (on)的高密度單元設計&#xff0c;堅固可靠&#xff0c;具有高飽和電流能力&#xff0c;ESD防護門HBM2KV。可應用于直流/直流轉換器&#xff0c;電池開關等產品應用上。

Redis JDBC

1、導入依賴&#xff1a; <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.4.3</version></dependency> 2、連接JDBC public class JedisDemo05 {public static void main(String[]…