日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

start()和run()的区别

發布時間:2023/12/10 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 start()和run()的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

start方法:

通過該方法啟動線程的同時也創建了一個線程,真正實現了多線程。無需等待run()方法中的代碼執行完畢,就可以接著執行下面的代碼。此時start()的這個線程處于就緒狀態,當得到CPU的時間片后就會執行其中的run()方法。這個run()方法包含了要執行的這個線程的內容,run()方法運行結束,此線程也就終止了。

run方法:

通過run方法啟動線程其實就是調用一個類中的方法,當作普通的方法的方式調用。并沒有創建一個線程,程序中依舊只有一個主線程,必須等到run()方法里面的代碼執行完畢,才會繼續執行下面的代碼,這樣就沒有達到寫線程的目的。
而run方法是業務邏輯實現的地方,本質上和任意一個類的任意一個成員方法并沒有任何區別,可以重復執行,被一個線程反復調用,也可以被單獨調用
總結一下:
1.start() 可以啟動一個新線程,run()不能
2.start()不能被重復調用,run()可以
3.start()中的run代碼可以不執行完就繼續執行下面的代碼,即進行了線程切換。直接調用run方法必須等待其代碼全部執行完才能繼續執行下面的代碼。
4.start() 實現了多線程,run()沒有實現多線程。

?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的start()和run()的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。