中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

成都那家做網(wǎng)站好?競(jìng)價(jià)推廣教程

成都那家做網(wǎng)站好?,競(jìng)價(jià)推廣教程,建筑招聘網(wǎng)官網(wǎng),建設(shè)網(wǎng)站導(dǎo)航怎么盈利一、多線程編程模板 線程 操作 資源類 高內(nèi)聚 低耦合 二、實(shí)現(xiàn)步驟 1、創(chuàng)建資源類 2、資源類里創(chuàng)建同步方法、同步代碼塊 三、12306賣票程序 3.1、synchronized實(shí)現(xiàn) 3.1.1、Ticket /*** Author : 一葉浮萍?xì)w大海* Date: 2023/11/20 8:54* …

一、多線程編程模板

線程????????操作? ? ? ? 資源類

高內(nèi)聚? ? ? ? ? ? ? ? ? ? 低耦合

二、實(shí)現(xiàn)步驟

1、創(chuàng)建資源類
2、資源類里創(chuàng)建同步方法、同步代碼塊

三、12306賣票程序

3.1、synchronized實(shí)現(xiàn)

3.1.1、Ticket

/*** @Author : 一葉浮萍?xì)w大海* @Date: 2023/11/20 8:54* @Description: 資源類火車票*/
public class Ticket {private Integer num = 30;public synchronized void saleTicket() {if (num > 0) {System.out.println(Thread.currentThread().getName() + " 賣出第:" + (num--) + "張票,還剩下:" + num + "張票!");}}}

3.1.2、SaleTicketSynchronizedMainApp

/*** @Author : 一葉浮萍?xì)w大海* @Date: 2023/11/20 8:57* @Description: 需求:三個(gè)售票員  賣出  30張票(synchronized實(shí)現(xiàn))* 多線程編程的企業(yè)級(jí)套路 + 模板:在高內(nèi)聚低耦合的前提下,線程操作資源類*/
public class SaleTicketSynchronizedMainApp {public static void main(String[] args) {Ticket ticket = new Ticket();new Thread(() -> {for (int i = 1; i <= 40; i++) {ticket.saleTicket();}}, "A").start();new Thread(() -> {for (int i = 1; i <= 40; i++) {ticket.saleTicket();}}, "B").start();new Thread(() -> {for (int i = 1; i <= 40; i++) {ticket.saleTicket();}}, "C").start();}}

3.1.3、結(jié)果

3.2、Lock實(shí)現(xiàn)

3.2.1、Ticket

/*** @Author : 一葉浮萍?xì)w大海* @Date: 2023/11/20 8:57* @Description: 需求:三個(gè)售票員  賣出  30張票(synchronized實(shí)現(xiàn))* 多線程編程的企業(yè)級(jí)套路 + 模板:在高內(nèi)聚低耦合的前提下,線程操作資源類*/
public class SaleTicketSynchronizedMainApp {public static void main(String[] args) {Ticket ticket = new Ticket();new Thread(() -> {for (int i = 1; i <= 40; i++) {ticket.saleTicket();}}, "A").start();new Thread(() -> {for (int i = 1; i <= 40; i++) {ticket.saleTicket();}}, "B").start();new Thread(() -> {for (int i = 1; i <= 40; i++) {ticket.saleTicket();}}, "C").start();}}

3.2.2、SaleTicketLockMainApp

/*** @Author : 一葉浮萍?xì)w大海* @Date: 2023/11/20 8:57* @Description: 需求:三個(gè)售票員  賣出  30張票(Lock實(shí)現(xiàn))* 多線程編程的企業(yè)級(jí)套路 + 模板:在高內(nèi)聚低耦合的前提下,線程操作資源類*/
public class SaleTicketLockMainApp {public static void main(String[] args) {Ticket ticket = new Ticket();new Thread(() -> {for (int i = 1; i <= 40; i++) {ticket.saleTicket();}}, "AA").start();new Thread(() -> {for (int i = 1; i <= 40; i++) {ticket.saleTicket();}}, "BB").start();new Thread(() -> {for (int i = 1; i <= 40; i++) {ticket.saleTicket();}}, "CC").start();}}

3.2.3、結(jié)果

四、Lock

4.1、概述

4.2、Lock接口的實(shí)現(xiàn)類ReentrantLock

4.3、如何使用ReentrantLock

class X {private final ReentrantLock lock = new ReentrantLock();// ...public void m() {lock.lock();  // block until condition holdstry {// ... method body} finally {lock.unlock()}}}

4.4、synchronized VS Lock

(1)首先synchronized是java內(nèi)置的關(guān)鍵字,在jvm層面,Lock是個(gè)java類;
(2)synchronized無(wú)法判斷是否獲取鎖的狀態(tài),Lock可以判斷是否獲取到鎖;
(3)synchronized會(huì)自動(dòng)釋放鎖(a 線程執(zhí)行完同步代碼會(huì)釋放鎖 ;b 線程執(zhí)行過(guò)程中發(fā)生異常會(huì)釋放鎖),Lock需在finally中手工釋放鎖(unlock()釋放鎖),否則容易造成線程死鎖;
(4)用synchronized關(guān)鍵字的兩個(gè)線程1和線程2,如果當(dāng)前線程1獲得鎖,線程2等待。如果線程1阻塞,線程2則會(huì)一直等待下去,而Lock鎖就不一定會(huì)等待下去,如果嘗試獲取不到鎖,? ? ? ? ? ?線程可以不用一直等待就結(jié)束了;
(5)synchronized的鎖可重入、不可中斷、非公平,而Lock鎖可重入、可中斷、可公平(兩者皆可);
(6)Lock鎖適合大量同步的代碼的同步問(wèn)題,synchronized鎖適合代碼少量的同步問(wèn)題;

http://m.risenshineclean.com/news/64835.html

相關(guān)文章:

  • 做數(shù)據(jù)收集網(wǎng)站百度競(jìng)價(jià)登錄入口
  • 附近那里有做網(wǎng)站的企業(yè)網(wǎng)站設(shè)計(jì)的基本內(nèi)容包括哪些
  • 網(wǎng)站默認(rèn)中文字體怎么自己制作網(wǎng)頁(yè)
  • wordpress底部footerseo搜索引擎優(yōu)化工資
  • 上海期貨配資網(wǎng)站開(kāi)發(fā)沈陽(yáng)seo優(yōu)化排名公司
  • 北京網(wǎng)站建設(shè)備案代理北京搜索引擎優(yōu)化管理專員
  • wordpress 戀月seo優(yōu)化關(guān)鍵詞
  • 溫州電力建設(shè)有限公司網(wǎng)站網(wǎng)站seo排名公司
  • 網(wǎng)站頁(yè)尾模板最佳磁力搜索引擎
  • 深圳正規(guī)網(wǎng)站制作哪里好域名備案查詢
  • 廣州專業(yè)網(wǎng)站制作種子搜索神器網(wǎng)頁(yè)版
  • 平面設(shè)計(jì)短期培訓(xùn)班seo站長(zhǎng)綜合查詢工具
  • wordpress將404跳轉(zhuǎn)主頁(yè)結(jié)構(gòu)優(yōu)化設(shè)計(jì)
  • 成都網(wǎng)站建設(shè)優(yōu)秀公司網(wǎng)絡(luò)推廣渠道和方法
  • 做網(wǎng)站項(xiàng)目的心得小紅書筆記關(guān)鍵詞排名優(yōu)化
  • 網(wǎng)站備案要多長(zhǎng)時(shí)間廣告精準(zhǔn)推廣平臺(tái)
  • 企業(yè)網(wǎng)站管理系統(tǒng)安裝教程重慶森林講的什么內(nèi)容
  • 如何騰訊云二級(jí)域名做網(wǎng)站北京中文seo
  • 附近短期電腦培訓(xùn)班深圳關(guān)鍵詞優(yōu)化公司哪家好
  • thinkphp做網(wǎng)站好嗎免費(fèi)網(wǎng)站注冊(cè)免費(fèi)創(chuàng)建網(wǎng)站
  • 一般給公司做網(wǎng)站用什么軟件奶茶推廣軟文200字
  • 做曖網(wǎng)站seo排名優(yōu)化教學(xué)
  • 如何做網(wǎng)站靜態(tài)頁(yè)面佛山網(wǎng)站設(shè)計(jì)實(shí)力樂(lè)云seo
  • 做網(wǎng)站瀏覽器2022重大時(shí)政熱點(diǎn)事件簡(jiǎn)短
  • 如何建設(shè)網(wǎng)站效果好近期10大新聞事件
  • 安徽教育機(jī)構(gòu)網(wǎng)站建設(shè)在線網(wǎng)頁(yè)編輯平臺(tái)
  • 網(wǎng)頁(yè)框架與布局網(wǎng)站如何做關(guān)鍵詞優(yōu)化
  • 網(wǎng)站建設(shè)及經(jīng)營(yíng)應(yīng)解決好的問(wèn)題seo網(wǎng)站診斷文檔案例
  • 昆明網(wǎng)站建設(shè)電話seo導(dǎo)航站
  • 做房地產(chǎn)咨詢網(wǎng)站怎么贏利百度地圖人工客服電話