線程run方法和start方法的區別


區別

run()

只是一個普通的方法調用,不會開啟新的線程。

start()

會開啟新的線程,分配新的資源。里面的變量互不影響。


實例

package multithreading;public class MyThread extends Thread {String flag;public MyThread(String flag) {this.flag = flag;}@Overridepublic void run() {String tname = Thread.currentThread().getName();System.out.println(tname + "線程的run方法被調用……");for (int i = 0; i < 5; i++) {try {Thread.sleep(200);System.out.println(tname + "...." + flag);} catch (InterruptedException e) {e.printStackTrace();}}}public static void main(String[] args) {MyThread t1 = new MyThread("a");MyThread t2 = new MyThread("b");MyThread t3 = new MyThread("c");t1.run();t2.run();t3.run();System.out.println("-------------分割線-----------");t1.start();t2.start();t3.start();}
}

運行結果

main線程的run方法被調用……
main....a
main....a
main....a
main....a
main....a
main線程的run方法被調用……
main....b
main....b
main....b
main....b
main....b
main線程的run方法被調用……
main....c
main....c
main....c
main....c
main....c
-------------分割線-----------
Thread-0線程的run方法被調用……
Thread-2線程的run方法被調用……
Thread-1線程的run方法被調用……
Thread-0....a
Thread-2....c
Thread-1....b
Thread-2....c
Thread-0....a
Thread-1....b
Thread-0....a
Thread-2....c
Thread-1....b
Thread-2....c
Thread-0....a
Thread-1....b
Thread-2....c
Thread-0....a
Thread-1....b




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

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

相關文章

字典的拼接方法

剛看到覺得很簡單 試著用 d3 dict1 dict2 就解決了 結果 報類型錯誤 后來想去遍歷 在組合越想越麻煩 下面分享幾個方法 d1 {"name":"luoyong","age":36}d2 {"class":"AID1712","start":"python"}方…

python反射、閉包、裝飾器_python 閉包裝飾器(一)

一、閉包1.舉例defouter():x 10def inner(): #內部函數print(x) #外部函數的一個變量returninner#調用inner()函數的方法outer()() #法一fouter()f()#法二注意&#xff1a;inner()是局部變量&#xff0c;在全局范圍不可調用(即不能直接調用inner()函數)&#xff0c;但是在法二中…

java list集合自定義排序_Java 通過 Comparator comparing 對 list 自定義 排序

摘要&#xff1a;在日常開發中&#xff0c;經常會用到排序算法&#xff0c;這里記錄下日常使用比較多的排序方法&#xff0c;其中包括按指定指定&#xff1a;正序、倒序排序&#xff0c;還有按自定義字段排序的方法&#xff0c;方便日后查看&#xff1b;一&#xff1a;按指定字…

beautifulsoup爬取網頁中的表格_用 Python 爬取網頁

來自公眾號&#xff1a;優達學城Udacity作者&#xff1a;Kerry Parker編譯&#xff1a;歐剃作為數據科學家的第一個任務&#xff0c;就是做網頁爬取。那時候&#xff0c;我對使用代碼從網站上獲取數據這項技術完全一無所知&#xff0c;它偏偏又是最有邏輯性并且最容易獲得的數據…

Java中Runnable和Thread的區別

概述 Runnable 是接口。 Thread 是類&#xff0c;且實現了Runnable接口。 Thread部分源碼 public class Threadimplements Runnable {private static class Caches{static final ConcurrentMap subclassAudits new ConcurrentHashMap();static final ReferenceQueue subcla…

python 神經網絡工具_神經網絡15分鐘入門!使用python從零開始寫一個兩層神經網絡...

本篇是該系列的第三篇&#xff0c;建議在閱讀本篇文章之前先看前兩篇文章。在本文中將使用python實現之前描述的兩層神經網絡&#xff0c;并完成所提出的“象限分類”的問題。需要注意的是&#xff0c;雖然標題叫做神經網絡15分鐘入門&#xff0c;但是到這篇文章&#xff0c;對…

12.3目錄結構

目錄結構 設計好目錄結構 可讀性高可維護性高比如一個Foo項目Foo/--- bin/--- foo--- foo/--- tests/--- _init__.py--- test_main.py--- init.py--- main.py---doc--- conf.py---abc.rst--- setup.py--- requirement.txt--- README簡要解釋一下&#xff1a; bin/:存放項目的一…

pyecharts添加文字_超燃的文字云效果,用Python就能輕松get!

本文轉載自公眾號&#xff1a;數據森麟(ID&#xff1a;shujusenlin)作者&#xff1a;葉庭云鏈接&#xff1a;https://blog.csdn.net/fyfugoyfa/ 01 / 詞云圖詞云圖是一種用來展現高頻關鍵詞的可視化表達&#xff0c;通過文字、色彩、圖形的搭配&#xff0c;產生有沖擊力地視覺效…

同步關鍵詞synchronized

概述 synchronized是java中的一個關鍵字&#xff0c;也就是說是Java語言內置的特性。 synchronized( 一個任意的對象&#xff08;鎖&#xff09; ){ 代碼塊中放操作共享數據的代碼。 } public synchronized int getIndex() {return 1;}public static synchronized int getN…

python連接mysql用哪個模塊_Python連接MySQL數據庫之pymysql模塊使用

Python3連接MySQL本文介紹Python3連接MySQL的第三方庫--PyMySQL的基本使用。PyMySQL介紹PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務器的一個庫&#xff0c;Python2中則使用mysqldb。Django中也可以使用PyMySQL連接MySQL數據庫。PyMySQL安裝pip install pymysql連接數據…

mysql 創建視圖 主鍵_MySQL數據庫基礎操作命令,本文助你更上一層樓!

今天介紹的是關于Mysql數據庫一些操作的基礎命令用戶與權限創建用戶mysql>create user test identified by BaC321#; 修改密碼5.5版本及以前的命令mysql>set password for testpassowrd(!1A2#3); 5.6及以上命令mysql>update mysql.user set authentication_stringpass…

mysql 聚合函數 怎么用在條件里_MySql 中聚合函數增加條件表達式的方法

Mysql 與聚合函數在一起時候where條件和having條件的過濾時機where 在聚合之前過濾當一個查詢包含了聚合函數及where條件&#xff0c;像這樣的情況select max(cid) from t where t.id<999這時候會先進行過濾&#xff0c;然后再聚合。先過濾出ID《999的記錄&#xff0c;再查找…

drbd(三):drbd的狀態說明

1.幾種獲取狀態信息的方法 drbd有很多獲取信息的方式。在drbd84和之前的版本&#xff0c;大多都使用cat /proc/drbd來獲取信息&#xff0c;多數情況下&#xff0c;這個文件展示的信息對于管理和維護drbd來說已經足夠。 例如以下是drbd84上兩個volume的節點狀態信息&#xff1a;…

Lock的lock()方法

ReentrantLock是JDK唯一實現了Lock接口的類 lock() 是平常使用得最多的一個方法&#xff0c;就是用來獲取鎖。如果鎖已被其他線程獲取&#xff0c;則進行等待。 由于在前面講到如果采用Lock&#xff0c;必須主動去釋放鎖&#xff0c;并且在發生異常時&#xff0c;不會自動釋放鎖…

Lock的tryLock()方法

概述 tryLock()方法是有返回值的&#xff0c;它表示用來嘗試獲取鎖&#xff0c;如果獲取成功&#xff0c;則返回true&#xff0c;如果獲取失敗&#xff08;即鎖已被其他線程獲取&#xff09;&#xff0c;則返回false&#xff0c;這個方法無論如何都會立即返回。在拿不到鎖時不…

python requests庫詳解_python的requests庫詳解

快速上手迫不及待了嗎&#xff1f;本頁內容為如何入門 Requests 提供了很好的指引。其假設你已經安裝了 Requests。如果還沒有&#xff0c;去安裝一節看看吧。首先&#xff0c;確認一下&#xff1a;Requests 已安裝Requests 是最新的讓我們從一些簡單的示例開始吧。發送請求使用…

python QTreeWidgetItem下面有幾個子tree_python-nlp ch1筆記:nlp的基礎應用、高級應用、python優勢、nltk環境搭建...

本帖是對(印度)Jalaj Thanaki作品《python自然語言處理》的翻譯、縮減及改編~nlp的基礎應用NLP是AI的子分支&#xff0c;其相關概念可以用于以下專家系統中&#xff1a;語音識別系統問答系統機器翻譯文本摘要情感分析基于模板的聊天機器人文本分類主題分割nlp的高級應用理解自然…

C#使用ListView更新數據出現閃爍解決辦法

C#使用ListView更新數據出現閃爍解決辦法 在使用vs自動控件ListView控件時候&#xff0c;更新里面的部分代碼時候出現閃爍的情況 如圖&#xff1a; 解決以后&#xff1a; 解決辦法使用雙緩沖&#xff1a;添加新類繼承ListView 對其重寫 1 public class DoubleBufferListView : …

Lock的tryLock(long time, TimeUnit unit)方法

概述 tryLock(long time, TimeUnit unit)方法和tryLock()方法是類似的&#xff0c;只不過區別在于這個方法在拿不到鎖時會等待一定的時間&#xff0c;在時間期限之內如果還拿不到鎖&#xff0c;就返回false。如果一開始拿到鎖或者在等待期間內拿到了鎖&#xff0c;則返回true。…

python語音識別的第三方庫_python標準庫+內置函數+第三方庫: 7.音頻處理

python標準庫內置函數第三方庫 欲善其事&#xff0c;必先利其器 這其器必是python的標準庫內置函數&#xff0c;話說許多第三方庫&#xff0c; 也是對標準庫的使用&#xff0c;進行封裝&#xff0c;使得使用起來更方便。 這些庫以使用場景來分類: 7、音頻處理 音頻處理主要適用…