第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

細說多線程之Thread VS Runnable

難度初級
時長 1小時 0分
學習人數(shù)
綜合評分9.63
171人評價 查看評價
9.8 內容實用
9.6 簡潔易懂
9.5 邏輯清晰
  • 線程的就緒狀態(tài)
    查看全部
  • 線程的生命周期 創(chuàng)建 -> 就緒 -> 運行 -> (阻塞->解除阻塞->就緒->運行) ->消亡 創(chuàng)建狀態(tài):新建了一個線程對象,如Thread t = new Thread(); 就緒狀態(tài):調用線程的start()方法啟動線程后,線程就進入了就緒狀態(tài),此時線程只是進入了線程隊列,等待獲取cpu資源,具備了運行的條件,但并不一定已經(jīng)開始運行了,因為當前cpu可能在執(zhí)行別的線程. 運行狀態(tài):當線程獲取了cpu資源時就進入了運行狀態(tài),執(zhí)行線程的run方法. 消亡:一旦線程的run方法執(zhí)行完畢后線程將會消亡. 阻塞狀態(tài):當線程在運行狀態(tài)時,可能會遇到一些阻塞事件,此時當前線程會讓出cpu資源,暫停了自己的執(zhí)行,并且進入阻塞狀態(tài). 當阻塞解除時便會重新進入就緒狀態(tài),繼續(xù)進入線程隊列等待獲取cpu資源.當重新獲取了cpu資源后,會從上次已執(zhí)行的run方法代碼后繼續(xù)執(zhí)行. 阻塞事件:線程的sleep()方法、線程的join()方法等. 大多數(shù)情況下,線程是因為執(zhí)行完run方法就會進入終止狀態(tài),除非人為調用了stop方法.
    查看全部
  • /*創(chuàng)建線程的兩種方式: * 1.繼承Thread類 * 2.實現(xiàn)Runnable接口 * */ //創(chuàng)建一個線程類 class MyThread1 implements Runnable{ private int ticketsCount = 5; //一共有5張火車票 @Override public void run() { //如果ticketsCount不為0,說明還有火車票,可以繼續(xù)賣 while(ticketsCount > 0 ){ ticketsCount--; //Thread.currentThread().getName() 獲得當前線程的名字 System.out.println(Thread.currentThread().getName() +"賣了1張票,剩余票數(shù)為"+ticketsCount); } } } public class TicketsThread1 { public static void main(String[] args) { MyThread1 mt = new MyThread1(); //創(chuàng)建三個線程,來模擬三個售票窗口 Thread th1 = new Thread(mt,"窗口1"); Thread th2 = new Thread(mt,"窗口2"); Thread th3 = new Thread(mt,"窗口3"); //啟動三個線程,就是三個窗口開始賣票 th1.start(); th2.start(); th3.start(); } }
    查看全部
  • package com.createThread; //定義一個線程類 class MyThread extends Thread{ private int ticketsCount = 5; //一共有5張火車票 private String name; //窗口,就是線程的名字 public MyThread(String name){ this.name = name; } //創(chuàng)建啟動線程的方法 @Override public void run() { while(ticketsCount > 0){ ticketsCount--; //如果還有票,就賣掉一張 System.out.println(name +"賣了1張票,剩余票數(shù)為"+ticketsCount); } } } public class TicketsThread { public static void main(String[] args) { //創(chuàng)建3個線程,模擬三個窗口賣票 MyThread mt1 = new MyThread("窗口1"); MyThread mt2 = new MyThread("窗口2"); MyThread mt3 = new MyThread("窗口3"); //啟動這三個線程,就是窗口開始賣票 mt1.start(); mt2.start(); mt3.start(); } /* * 總共只有5張火車票,每個窗口賣了5次,結果賣出15張票,這是不合理的 * * */ }
    查看全部
  • 創(chuàng)建線程的兩種方式的比較
    查看全部
  • 在Java中一個子類可以實現(xiàn)多個接口,但只能繼承一個父類。單繼承 兩種創(chuàng)建線程方式的簡單比較:<br> 1:在Java世界中一個類可以同時實現(xiàn)多個接口但是只能集成一個類,這就是單繼承 2:使用繼承Thread類的方式來創(chuàng)建線程,不適合多個線程處理同一資源的情況,這種情況對于使用實現(xiàn)Runnable接口的方式創(chuàng)建的線程是適合的。
    查看全部
  • 創(chuàng)建線程
    查看全部
  • 創(chuàng)建線程
    查看全部
  • 1.繼承 Thread 類 MyThread my = new MyThread(); my.start(); 2.實現(xiàn) Runable 接口:(代碼多出一行) MyThread my = new MyThread(); Thread thread = new Thread(my); thread.start(); 啟動線程調用start()方法[注:并沒有開始執(zhí)行],之后線程進入線程隊列中,等待cpu服務, 一旦獲取到時間片立即進入run()方法開始執(zhí)行,run()方法邏輯完成,本線程結束
    查看全部
  • 線程分為兩類: 1、用戶線程:運行在前臺,執(zhí)行具體任務 如程序的主線程、連接網(wǎng)絡的子線程等都是用戶線程 2、守護線程:運行在后臺,為其他前臺線程服務(也就是某些線程的服務者) 特點:一旦所有的用戶線程都結束運行(沒有了守護的對象),守護線程會隨JVM一起結束工作 如:數(shù)據(jù)庫連接池中的監(jiān)測線程(監(jiān)測連接個數(shù)、監(jiān)測連接超時時間)、 JVM虛擬機啟動之后的監(jiān)測線程 最常見的還是垃圾回收線程 注:1.daemon(英文守護的意思)設置是否是守護線程,必須在start方法前調用 2.守護線程匯總產(chǎn)生的線程也是守護線程 3.不是所有的任務都能設置成守護線程,如讀寫操作、計算邏輯(也就是和實際業(yè)務邏輯相關的線程不能設置成守護線程)
    查看全部
  • 阻塞(cpu被搶占) / /\\ / \ \// \ 創(chuàng)建(new)-->就緒(start)-->運行(run)-->終止(run執(zhí)行完)
    查看全部
  • 兩者對比: 1:一個是Thread類,一個是Runnable接口;Runnable方式可以避免Thread方式由于Java單繼承性帶來的缺陷 2:Thread類: MyThread my = new MyThread(); my.start(); Runable 接口: MyThread my = new MyThread(); Thread thread = new Thread(my); 3:Runable代碼(實例)可以被多個線程共享,適合于多個線程處理同一資源(也就是說各個線程有公用信息<總票數(shù)>)的情況 MyThread my = new MyThread(); Thread thread = new Thread(my); thread.start(); Thread thread1 = new Thread(my);<-這里-> thread2.start();
    查看全部
    0 采集 收起 來源:應用揭秘

    2018-03-22

  • 1.繼承 Thread 類 MyThread my = new MyThread(); my.start(); 2.實現(xiàn) Runable 接口:(代碼多出一行) MyThread my = new MyThread(); Thread thread = new Thread(my); thread.start(); 啟動線程調用start()方法[注:并沒有開始執(zhí)行],之后線程進入線程隊列中,等待cpu服務, 一旦獲取到時間片立即進入run()方法開始執(zhí)行,run()方法邏輯完成,本線程結束
    查看全部
  • 線程創(chuàng)建實現(xiàn)Runnable接口
    查看全部
  • 線程創(chuàng)建繼承Thread類
    查看全部

舉報

0/150
提交
取消
課程須知
學習本課程前,你需要熟練掌握Java的基礎語法,熟悉Java中創(chuàng)建線程的兩種方式,熟悉Java多線程中常用的一些方法。
老師告訴你能學到什么?
1、多線程創(chuàng)建方式的比較和選擇 2、線程的生命周期、守護線程

微信掃碼,參與3人拼團

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網(wǎng)的支持!