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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 并发编程实例_Java并发编程案例解读

發布時間:2024/9/30 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 并发编程实例_Java并发编程案例解读 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

經過前面幾節的學習,了解了多線程概念、Thread類的應用、多線程數據同步存在的問題及解決方法。本節給出一個并發編程實例應用案例,通過案例的學習,可以靈活地把多線程知識應用到實際編程中,解決在項目開發過程中遇到的并發編程問題。

在進入案例之前,先了解一下實現Java同步機制的幾個方法,Java.lang.object類提供了wati()、notify()、notifyAll()方法,它們與synchronized關鍵字結合使用,可以建立很多優秀的同步模型。

當synchronized修飾的方法或代碼塊中的wati()方法被調用時,當前線程將被中斷運行,并且放棄該對象的鎖。

當另外的線程執行了某個對象的notify()方法后,會喚醒在此對象等待池中的某個線程,使之成為可運行的線程。notifyAll()方法會喚醒所有等待這個對象的線程,使之成為可運行的線程。

下面來看一個比較經典的問題:生產者(Producer)和消費者(Consumer)問題。這個問題的解決就是通過靈活使用wati()、notify()、notifyAll()方法來實現的。

任務要求如下:

生產者將產品交給店鋪,消費者從店鋪取走產品,店鋪一次只能存儲固定數量的產品,如果生產者生產了過多產品,店鋪會讓生產者等一下,如果店中有空間存儲產品了,再通知生產者繼續生產;如果店中沒有產品了,店鋪會告訴消費者等一下,如果店中有產品了,再通知消費者來取走產品。

要實現上述任務要求,我們需要定義一個生產者線程類和消費者線程類。再建立一個全局數組作為存儲產品的緩沖區。其控制過程是,生產者向緩沖區存入產品,消費者從緩沖區取走產品。當緩沖區滿時,生產者必須阻塞,等待消費者取走產品后將其喚醒。當緩沖區空時,消費者被阻塞,等待生產者生產了產品后將其喚醒。

(1)定義產品類,產品包含一個產品標識的id屬性。另外要在生產或消費時打印產品的詳細內容,因此重寫toString()方法,產品類的代碼如下所示:

(2)定義店鋪類,店鋪一次只能持有10份產品,如果生產者生產的產品多余10分,則會讓當前正在此對象上操作的線程等待。一個線程訪問addProduct方法時,它已經拿到這個鎖了,當遇到產品大于10份時,它會阻塞。如果沒有大于10份,則繼續生產產品,并且調用notify方法,叫醒一個正在當前這個對象上等待的線程。這里請注意,notify和wait一般是一一對應的。代碼如下所示:

(3)定義生產者線程類,生產者負責生產產品,每生產完一個產品,調用Thread類的sleep方法休眠一段時間,模擬生產過程。代碼如下:

(4)定義消費者線程類,消費者負責消費產品,消費者每消費完一個產品,調用Thread類的sleep方法休眠一段時間,模擬消費過程。代碼如下:

(5)定義主線程類。代碼如下:

主線程類首先實例化Shop對象,然后分別實例化生產者線程和消費者線程。程序輸出結果如下圖所示:

■ 知識點撥

案例有兩個線程類,分別是Producer類(生產者)和Consumer類(消費者),Shop類(店鋪)負責產品的購進(存儲產品的數量有限)與銷售,因此Shop類需要協調Producer類和Consumer類,當Producer類生產過多產品時,Shop類需要調用wait方法讓Producer類不要再繼續生產,同時調用notify方法通知消費者來取走產品(如果有正在等待產品的消費者)。反之亦然,當無產品可取時,Shop類需要調用wait方法讓Consumer類等待產品,同時調用notify方法通知生產者繼續生產產品。

總結

以上是生活随笔為你收集整理的java 并发编程实例_Java并发编程案例解读的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲在线第一页 | 国产黄色录像 | 亚洲aⅴ在线观看 | 意大利性荡欲xxxxxx | 黑丝美女一区二区 | 成人免费毛片嘿嘿连载 | aaa黄色片 | 69视频在线免费观看 | 一个综合色 | 欧美成人vr18sexvr | 欧美一区二区网站 | 外国黄色网| 国产91香蕉| 最新av网站在线观看 | 免费日韩一区 | 美女黄色片网站 | 喷水av| www.成人免费 | 日韩一卡二卡在线 | 国产亚洲精品久久久久婷婷瑜伽 | 欧美成人精品欧美一级乱 | 国产乱码在线 | 性饥渴的农村熟妇 | 成人羞羞国产免费 | 麻豆传媒视频入口 | 一呦二呦三呦精品网站 | 久久国产精品亚洲 | 国产欧美一区二区三区在线 | 国产又粗又猛视频 | 91免费在线观看网站 | 波多野结衣在线视频播放 | 精品免费视频一区二区 | 日韩欧美资源 | 香蕉视频在线网址 | 久久这里都是精品 | 97超碰人人在线 | 奶水喷溅虐奶乳奴h文 | 日韩乱码在线 | 永久视频 | 久久人人看| 国产永久免费无遮挡 | 成人在线播放网站 | 2019天天干天天操 | 99久久久无码国产精品性波多 | 天天操中文字幕 | 久久亚洲av成人无码国产电影 | 2020av视频 | 亚洲一区激情 | 偷偷操不一样 | 色婷婷在线观看视频 | 久久福利视频导航 | 天天色婷婷 | 欧美黄色片网站 | 免费超爽大片黄 | 亚洲区欧美 | 日日天天干 | av网在线观看 | 好邻居韩国剧在线观看 | cekc老妇女cea0 | 日韩高清一二三区 | 国产精品999 | 老头糟蹋新婚少妇系列小说 | 国产有码在线观看 | 超碰97观看 | 尤物在线精品 | 女同亚洲精品一区二区三 | 精品亚洲国产成人av制服丝袜 | 亚洲精品在线中文字幕 | 黑人巨大精品欧美一区二区免费 | 成人欧美一区二区三区黑人冫 | 亚洲熟女乱色一区二区三区 | 国产精品一二三区 | 久久久久国产精品午夜一区 | heyzo亚洲| 强行无套内谢大学生初次 | 亚洲精品.www| 最新视频 - 8mav | 99久久久无码国产精品 | 一区二区三区日 | 中文字幕黑人 | 91在线超碰| 性欧美大战久久久久久久 | av片免费播放| 午夜免费体验区 | 涩涩网站在线观看 | aa一级视频 | 国产精品黄色在线观看 | 日本老熟妇毛茸茸 | 日韩在线视频免费观看 | 黄网在线看 | 国产精品suv一区 | 日日网站 | 91免费版在线看 | 午夜aaa| 国产精品果冻传媒潘 | 健身教练巨大粗爽gay视频 | av一级久久 | av免费播放网站 | 国产乱人 |