請說明Thread類中run和start的區別,從方法的區別,及運行結果的區別分別說明

方法本身的區別

start() 方法:

  1. run()方法是Thread類的一個普通方法,它包含了線程要執行的代碼。
  2. 當你直接調用一個線程的run()方法(如myThread.run()),你實際上是在當前線程(通常是主線程)中執行run()方法中的代碼,而不是創建一個新的線程來執行。
  3. run()方法沒有特殊的線程管理功能,它只是簡單地執行其中的代碼。

run() 方法:

  1. start()方法是Thread類的一個特殊方法,用于啟動一個新線程。
  2. 當你調用一個線程的start()方法(如myThread.start()),Java虛擬機(JVM)會為該線程分配必要的系統資源,并創建一個新的執行線程。
  3. 在新線程中,JVM會自動調用該線程的run()方法。因此,start()方法內部會調用run()方法,但這個過程是由JVM控制的,而不是直接由調用start()方法的線程控制。
  4. start()方法具有線程管理功能,它確保線程的正確啟動和執行。

運行結果的區別

使用 start() 方法:

  1. 當你調用一個線程的start()方法時,它會創建一個新的線程來執行run()方法中的代碼。
  2. 這意味著,run()方法中的代碼將在新的線程中異步執行,不會阻塞當前線程。
  3. 這使得你可以同時執行多個任務,提高程序的并發性和響應性。

直接調用 run() 方法:

  1. 當你直接調用一個線程的run()方法時,代碼會在當前線程中同步執行,而不是在新的線程中。
  2. 這意味著,如果你的代碼中有耗時的操作或需要等待的操作(如I/O操作),它會阻塞當前線程,直到操作完成。

總結:Java中,你應該始終通過調用start()方法來啟動一個新線程,而不是直接調用run()方法。這是因為start()方法會正確地管理線程的創建和執行,而直接調用run()方法則只是在當前線程中執行代碼,無法實現多線程并發執行的效果。

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

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

相關文章

PointCloudLib-濾波模塊(Filtering)-使用參數化模型投影點

在本教程中,我們將學習如何將點投影到參數化模型上 (例如,平面、球體等)。參數模型通過一組 系數 – 在平面的情況下,通過其方程:ax + by + cz + d = 0。 代碼 #include <iostream> #include <pcl/point_cloud.h> // for PointCloud #include <pcl/point…

mysql是什么

mysql是什么 是DBMS軟件系統&#xff0c;并不是一個數據庫&#xff0c;管理數據庫 DBMS相當于用戶和數據庫之間的橋梁&#xff0c;有超過300種不同的dbms系統 mysql是關系型數據庫&#xff0c;關系型數據庫存儲模型很想excel&#xff0c;用行和列組織數據 sql是一門編程語言…

關于ip地址的網頁無法訪問navigator的gpu、媒體、藍牙等設備的解決方法

在使用threejs的WebGPURenderer渲染器時&#xff0c;發現localhost以及127.0.0.1才能訪問到navigator.gpu&#xff0c;直接使用ip會變成undefined,原因是為了用戶的隱私安全&#xff0c;只能在安全的上下文中使用&#xff0c;非安全的上下文就會是undefined&#xff0c;安全上下…

谷歌云(GCP)4門1453元最熱門證書限時免費考

谷歌云(GCP)最新活動&#xff0c;完成免費官方課程&#xff0c;送4門最熱門考試免費考試券1張(每張價值200刀/1453元)&#xff0c;這4門也包括最近大熱的AI/ML考試&#xff0c;非常值得學習和參加&#xff0c;活動7/17截止 谷歌云是全球最火的三大云計算廠商(前兩名AWS, Azure…

MySQL索引優化解決方案--索引失效(3)

索引失效情況 最佳左前綴法則&#xff1a;如果索引了多列&#xff0c;要遵循最左前綴法則&#xff0c;指的是查詢從索引的最左前列開始并且不跳過索引中的列。不在索引列上做任何計算、函數操作&#xff0c;會導致索引失效而轉向全表掃描存儲引擎不能使用索引中范圍條件右邊的…

【Linux】進程信號_1

文章目錄 八、進程信號1.信號 未完待續 八、進程信號 1.信號 信號和信號量之間沒有任何關系。信號是Linux系統提供的讓用戶/進程給其他進程發送異步信息的一種方式。 常見信號&#xff1a; 當信號產生時&#xff0c;可選的處理方式有三種&#xff1a;①忽略此信號。②執行該…

小程序注冊

【 一 】小程序注冊 微信公眾平臺 https://mp.weixin.qq.com/ https://mp.weixin.qq.com/注冊 郵箱激活 小程序賬戶注冊 微信小程序配置 微信小程序開發流程 添加項目成員 【 二 】云服務 lass 基礎設施服務&#xff08;組裝機&#xff09; 你買了一大堆的電腦配件&#x…

AI早班車2024.6.25

全球AI新聞速遞 1.高通&#xff1a;開放 AI 模型&#xff0c;幫助開發者打造驍龍 X Elite 平臺智能應用。 2.OpenAI&#xff1a;收購數據庫分析公司Rockset。 3.大眾海外版車型支持 ChatGPT。 4.樂聚夸父人形機器人&#xff0c;搭載華為云盤古具身智能大模型。 5.微軟正努力…

Day45

Day45 jQuery動畫 顯示和隱藏 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><script src"js/jquery-1.8.2.js" type"text/javascript" charset"utf-8"></script&…

Linux系統移動光標類命令

天行健&#xff0c;君子以自強不息&#xff1b;地勢坤&#xff0c;君子以厚德載物。 每個人都有惰性&#xff0c;但不斷學習是好好生活的根本&#xff0c;共勉&#xff01; 文章均為學習整理筆記&#xff0c;分享記錄為主&#xff0c;如有錯誤請指正&#xff0c;共同學習進步。…

iHRM人力資源管理系統測試用例集

1、初始化項目環境 1&#xff09;初始化用例集 2&#xff09;初始化環境&#xff1a;測試環境&#xff0c;生產環境&#xff08;不同環境對應不同的url&#xff0c;在進行用例集測試之前一定要指定環境&#xff09; 3&#xff09;單接口模塊 從Excel表格的測試用例文檔中提…

云南省森林管理新篇章:可視化大屏引領綠色智慧革命

在云南省這片綠意盎然的土地上&#xff0c;森林不僅是自然的寶藏&#xff0c;更是生態的守護者。 想象一下&#xff0c;站在巨大的屏幕前&#xff0c;云南省的森林分布、生長狀況、病蟲害情況等信息一目了然&#xff0c;仿佛擁有了一雙能夠洞察森林奧秘的“智慧眼”。這正是森林…

輸入/輸出文字

自學python如何成為大佬(目錄):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在海龜繪圖中&#xff0c;也可以輸入或者輸出文字&#xff0c;下面分別進行介紹。 1 輸出文字 輸出文字可以使用write()方法來實現&#xff0c;語…

使用Python實現手勢替代鼠標操作并生成.exe可執行文件

使用Python實現手勢替代鼠標操作并生成.exe可執行文件 在現代計算機交互中&#xff0c;手勢識別作為一種自然的人機交互方式&#xff0c;逐漸受到人們的關注。本文將介紹如何使用Python實現手勢替代鼠標操作&#xff0c;并生成一個可執行的.exe文件&#xff0c;使得這項技術更…

python常見概念

文章目錄 1.python是什么&#xff1f;2.編輯器的選擇——pycharm3.第一個python程序4.print函數5.關鍵字介紹6.python的注釋方式7.python語句分類 1.python是什么&#xff1f; Python 是一種面向對象的解釋性的計算機程序設計語言&#xff0c;也是一種功能強大而完善的通用型語…

濁度傳感器設備的監測控制和智慧運維

濁度傳感器是一種用于測量液體中懸浮顆粒濃度從而反映液體濁度的設備。 其工作原理主要基于以下幾種常見方式&#xff1a; 1. 散射光測量原理&#xff1a;當光線穿過含有懸浮顆粒的液體時&#xff0c;顆粒會使光線發生散射。傳感器通過測量特定角度的散射光強度來確定濁度。散…

數據中臺/數據倉庫必問的數量質量控制面試題

目錄 什么是數據質量?如何定義高質量的數據? 數據質量的五個維度是什么? 解釋“準確性”在數據質量中的含義。 數據清洗與數據質量控制之間的關系是什么? 數據質量評估的常用方法有哪些? 如何建立數據質量評分體系? 數據治理與數據質量控制的關系是什么? 描述一…

MySQL常用的函數

1、concat&#xff08;a&#xff0c;b&#xff09;&#xff1a;把傳入的參數連成一個字符串。 2、lower()/upper()&#xff1a;轉換為小寫/轉換為大寫。 3、replace&#xff08;&#xff09;&#xff1a;替換字符串。 4、trim&#xff08;&#xff09;&#xff1a;去掉開頭和…

入門 PyTorch ,這70個操作技巧就夠了

Pytorch 是當下最流行的算法框架&#xff0c;很多大模型都是基于Pytorch 搭建而成&#xff0c;它提供了大量操作用于創建和訓練神經網絡。 今天給大家分享 Pytorch 的19個方面&#xff0c;涉及到70個細節操作&#xff0c;這部分內容梳理花了我一天的時間&#xff0c;喜歡記得點…