【学习笔记】第二章——管程(解决生产者消费者问题、封装、Java 体现)
生活随笔
收集整理的這篇文章主要介紹了
【学习笔记】第二章——管程(解决生产者消费者问题、封装、Java 体现)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
填坑系列!立個(gè)這幾天補(bǔ)完的 Flag
因?yàn)檫@個(gè)視頻的筆記,很多人都已經(jīng)寫得很好了,所以接下來(lái)的博客,只會(huì)記錄一些
【常考】【和 Java 相關(guān)】【感覺很有必要記錄】的內(nèi)容
文章目錄
- 一. 概念
- 二. 用于解決生產(chǎn)者、消費(fèi)者問(wèn)題
- Java 里的管程
- 總結(jié)
一. 概念
- 為什么引入:信號(hào)量用起來(lái)太麻煩了,直接封裝好一個(gè)同步工具,化身API工程師不香嗎!
- 定義:一個(gè)封裝好的同步模塊,提供對(duì)外接口
- 每次只允許一個(gè)進(jìn)程,在管程內(nèi)執(zhí)行某個(gè)內(nèi)部過(guò)程(類似Java 對(duì)象鎖)
- 有名字,有私有局部變量
二. 用于解決生產(chǎn)者、消費(fèi)者問(wèn)題
- 可以看到,生產(chǎn)者只是簡(jiǎn)單地調(diào)用了管程的 insert 函數(shù),而不需要關(guān)心內(nèi)部的同步原理
- 消費(fèi)者也是,互斥直接依靠編譯器負(fù)責(zé)
- 目的:更方便地實(shí)現(xiàn)進(jìn)程互斥和同步
- 使用方法:調(diào)用管程提供的接口
- 互斥性:每次只開放一個(gè)接口,讓一個(gè)進(jìn)程或線程進(jìn)入(編譯器實(shí)現(xiàn)的互斥特性)
Java 里的管程
- 非靜態(tài)函數(shù)的 synchronized ,實(shí)現(xiàn)對(duì)象鎖,達(dá)到管程效果
總結(jié)
總結(jié)
以上是生活随笔為你收集整理的【学习笔记】第二章——管程(解决生产者消费者问题、封装、Java 体现)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: oracle百分之0.01就成了.01,
- 下一篇: 【LeetCode笔记】279. 完全平