首页 > 编程知识 正文

semaphore实现原理,java semaphore

时间:2023-05-05 21:10:33 阅读:50835 作者:3481

信号是初始化一定数量的许可,限制获取许可的线程数,从而阻止未获得许可的线程,并达到限制对特定资源访问的线程数。

实现原理的所有多线程访问的控制方式归根到底都是管理可共享的地址,就像简单的全局变量对计数器的判断一样,可以共享存储器的数据结构的操作。

接口函数new () : creatasemaphorewithaspecifiednumberkerys;

get (: obtianoneormorekeysfromthebusket;

put ) ) : returnoneormorekyesintothebucker;

try _ get (: trytoobtianoneormaorkeyswithoutblocking;

单许可证使用案例,两个线程冲突:

SEM=new(1) process 1: sem.get(1) 1; SEM.put(1; process1:SEM.get(1; SEM.put(1; 多许可证、多线程竞争

SEM=new(5) process 1: sem.get(2) 2; SEM.put(2; process1:SEM.get(2; SEM.put(2; process2:SEM.get(2; SEM.put(2;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。