国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

信號(hào)量Semaphore的概念及其使用

這篇具有很好參考價(jià)值的文章主要介紹了信號(hào)量Semaphore的概念及其使用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

概念

? ? ? ? 在操作系統(tǒng)中也經(jīng)常出現(xiàn)信號(hào)量這一概念

? ? ? ? Semaphore是并發(fā)編程中一個(gè)重要的概念/組件

? ? ? ? 準(zhǔn)確來(lái)說,Semaphore是一個(gè)計(jì)數(shù)器(變量),描述了”可用資源的個(gè)數(shù)“,描述的是,當(dāng)前線程是否有”臨界資源可用

? ? ? ? 臨界資源表示,多個(gè)線程/進(jìn)程等并發(fā)執(zhí)行的實(shí)體可以公共使用到的資源(多個(gè)線程修改同一個(gè)變量,這個(gè)變量可以認(rèn)為是臨界資源)

代碼實(shí)現(xiàn)

????????

package 信號(hào)量semaphore;

import java.util.concurrent.Semaphore;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: wuyulin
 * Date: 2023-08-04
 * Time: 16:32
 */

//Semaphore是并發(fā)編程中一個(gè)重要的概念/組件
//準(zhǔn)確來(lái)說Semaphore是一個(gè)計(jì)數(shù)器,描述了可用資源的個(gè)數(shù)
//描述了當(dāng)前這個(gè)線程是否有臨界資源可以使用
//臨界資源,多個(gè)線程/進(jìn)程等并發(fā)執(zhí)行的實(shí)體可以公共使用到的資源(多個(gè)線程可以修改同一個(gè)變量,這個(gè)變量就可以認(rèn)為是臨界資源)
public class Demo1 {
    public static void main(String[] args) throws InterruptedException {
        Semaphore semaphore=new Semaphore(4);   //參數(shù)表示初始可用資源的個(gè)數(shù)
        semaphore.acquire();
        System.out.println("獲取資源");
        semaphore.acquire();
        System.out.println("獲取資源");
        semaphore.acquire();
        System.out.println("獲取資源");
        semaphore.acquire();
        System.out.println("獲取資源");
        semaphore.release();
        System.out.println("釋放資源");
        semaphore.acquire();
        System.out.println("獲取資源");
        //一個(gè)就4個(gè)可用資源,在獲取完了以后,再次進(jìn)行獲取要進(jìn)入阻塞等待,等待資源被釋放后才能獲取
        semaphore.acquire();
        System.out.println("獲取資源");

    }
}

? ? ? ? 1.Semaphore的使用并不困難,實(shí)例化Semaphore對(duì)象中寫入的參數(shù)表示初始可用資源的個(gè)數(shù)

? ? ? ? 2.調(diào)用acquire方法來(lái)獲取資源,此時(shí)Semaphore中用于計(jì)數(shù)的屬性就減一

? ? ? ? 3.調(diào)用release方法釋放資源,此時(shí)Semaphore中用于計(jì)數(shù)的屬性就加一

? ? ? ? 4.當(dāng)Semaphore中用于計(jì)數(shù)的屬性為0表示沒有資源可以利用,此時(shí)再調(diào)用acquire方法來(lái)獲取資源,就會(huì)進(jìn)入阻塞等待,直到有資源了以后再去獲取資源繼續(xù)向下執(zhí)行文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-624195.html

到了這里,關(guān)于信號(hào)量Semaphore的概念及其使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-輕量系統(tǒng)內(nèi)核基礎(chǔ)-信號(hào)量semaphore

    HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-輕量系統(tǒng)內(nèi)核基礎(chǔ)-信號(hào)量semaphore

    信號(hào)量(Semaphore)是一種實(shí)現(xiàn)任務(wù)間通信的機(jī)制,可以實(shí)現(xiàn)任務(wù)間同步或共享資源的互斥訪問。 一個(gè)信號(hào)量的數(shù)據(jù)結(jié)構(gòu)中,通常有一個(gè)計(jì)數(shù)值,用于對(duì)有效資源數(shù)的計(jì)數(shù),表示剩下的可被使用的共享資源數(shù),其值的含義分兩種情況: 0,表示該信號(hào)量當(dāng)前不可獲取,因此可能

    2024年02月19日
    瀏覽(18)
  • 【Linux】詳解進(jìn)程通信中信號(hào)量的本質(zhì)&&同步和互斥的概念&&臨界資源和臨界區(qū)的概念

    【Linux】詳解進(jìn)程通信中信號(hào)量的本質(zhì)&&同步和互斥的概念&&臨界資源和臨界區(qū)的概念

    ???????? 訪問資源在安全的前提下,具有一定的順序性,就叫做同步 。在多道程序系統(tǒng)中,由于資源有限,進(jìn)程或線程之間可能產(chǎn)生沖突。同步機(jī)制就是為了解決這些沖突,保證進(jìn)程或線程之間能夠按照既定的順序訪問共享資源。同步機(jī)制有助于避免競(jìng)態(tài)條件和死鎖(

    2024年04月25日
    瀏覽(91)
  • iOS開發(fā)進(jìn)階(六):Xcode14 使用信號(hào)量造成線程優(yōu)先級(jí)反轉(zhuǎn)問題修復(fù)

    iOS開發(fā)進(jìn)階(六):Xcode14 使用信號(hào)量造成線程優(yōu)先級(jí)反轉(zhuǎn)問題修復(fù)

    應(yīng)用 Xcode 14.1 進(jìn)行項(xiàng)目編譯時(shí),遇到以下錯(cuò)誤提示,導(dǎo)致APP線程暫停。 以上問題是由于iOS信號(hào)量造成線程優(yōu)先級(jí)反轉(zhuǎn),在并發(fā)隊(duì)列使用信號(hào)量會(huì)可能會(huì)造成線程優(yōu)先級(jí)反轉(zhuǎn)。 經(jīng)過查詢資料,發(fā)現(xiàn)是在 XCode14 上增加了工具,比如 : Thread Performance Checker ( XCode14 上默認(rèn)開啟的)

    2024年02月01日
    瀏覽(38)
  • 【Linux從入門到精通】信號(hào)量(信號(hào)量的原理與相關(guān)操作接口)詳解

    【Linux從入門到精通】信號(hào)量(信號(hào)量的原理與相關(guān)操作接口)詳解

    ? 本篇文章重點(diǎn)對(duì) 信號(hào)量的概念,信號(hào)量的申請(qǐng)、初始化、釋放、銷毀等操作進(jìn)行講解。同時(shí)舉例把信號(hào)量應(yīng)用到生產(chǎn)者消費(fèi)者模型來(lái)理解 。希望本篇文章會(huì)對(duì)你有所幫助。 目錄 一、信號(hào)量概念 1、1 什么是信號(hào)量 1、2 為什么要有信號(hào)量 1、3 信號(hào)量的PV操作 二、信號(hào)量的相

    2024年02月08日
    瀏覽(57)
  • 【設(shè)計(jì)模式】C語(yǔ)言使用共享內(nèi)存和信號(hào)量,完美實(shí)現(xiàn)生產(chǎn)者與消費(fèi)者模式

    生產(chǎn)者和消費(fèi)者模式適用于生產(chǎn)者和消費(fèi)者之間存在數(shù)據(jù)交換的場(chǎng)景。在這種模式中,生產(chǎn)者負(fù)責(zé)生產(chǎn)數(shù)據(jù)并將其放入緩沖區(qū),而消費(fèi)者負(fù)責(zé)從緩沖區(qū)中取出數(shù)據(jù)并進(jìn)行處理。這種模式的優(yōu)點(diǎn)是可以實(shí)現(xiàn)生產(chǎn)者和消費(fèi)者之間的解耦,使得它們可以獨(dú)立地進(jìn)行操作,從而提高了

    2024年02月03日
    瀏覽(20)
  • uCOSii信號(hào)量

    uCOSii信號(hào)量

    uCOSii 信號(hào)量 主要用來(lái)測(cè)試使用uCOSii“創(chuàng)建信號(hào)量,發(fā)送信號(hào)量,接收信號(hào)量,刪除信號(hào)量”。 學(xué)習(xí)uCOSii一定要先了解os_cfg.h文件。 信號(hào)量管理函數(shù)如下: OSSemAccept () 無(wú)條件地等待請(qǐng)求一個(gè)信號(hào)量函數(shù),中斷服務(wù)子程序只能用OSSemAccept()而不能用OSSemPend(),因?yàn)橹袛喾?wù)子程序是不

    2024年02月07日
    瀏覽(20)
  • linux(信號(hào)量)

    linux(信號(hào)量)

    1.回顧信號(hào)量的概念 2.認(rèn)識(shí)信號(hào)量對(duì)應(yīng)的操作函數(shù) 3.認(rèn)識(shí)一個(gè)環(huán)形隊(duì)列 4.結(jié)合sem+環(huán)形隊(duì)列寫生產(chǎn)者消費(fèi)者模型 --------------------------------------------------------------------------------------------------------------------------------- 1.回顧信號(hào)量的概念 ?每個(gè)人想進(jìn)放映廳看電影,第一件事就是買票

    2024年02月11日
    瀏覽(42)
  • 信號(hào)量

    信號(hào)量

    信號(hào)量(semaphore)和信號(hào)只有一字之差,卻是不同的概念, 信號(hào)量與之前介紹的IPC不同,它是一個(gè)計(jì)數(shù)器,用于實(shí)現(xiàn)進(jìn)程間的互斥于同步 本文參考: Linux 的信號(hào)量_linux 信號(hào)量_行孤、的博客-CSDN博客 【Linux】Linux的信號(hào)量集_Yngz_Miao的博客-CSDN博客 Linux進(jìn)程間通信(九)——信

    2024年02月12日
    瀏覽(24)
  • linux信號(hào)量

    linux信號(hào)量

    通過學(xué)習(xí)linux的信號(hào)量,對(duì)linux的信號(hào)量進(jìn)行了編程。

    2024年02月10日
    瀏覽(19)
  • 并發(fā)編程 --- 信號(hào)量線程同步

    上文編碼技巧 --- 同步鎖對(duì)象的選定中,提到了在C#中,讓線程同步有兩種方式: 鎖(lock、Monitor等) 信號(hào)量(EventWaitHandle、Semaphore、Mutex) 加鎖是最常用的線程同步的方法,就不再討論,本篇主要討論使用信號(hào)量同步線程。 實(shí)際上,再C#中 EventWaitHandle 、 Semaphore 、 Mutex 都是

    2024年02月16日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包