首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java中的互斥和信号量是什么?主要区别是什么?

Java中的互斥和信号量是什么?主要区别是什么?
EN

Stack Overflow用户
提问于 2009-04-21 06:51:58
回答 6查看 105.2K关注 0票数 117

Java中的互斥和信号量是什么?主要区别是什么?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-04-21 06:58:24

信号量可以计数,而互斥量只能计数到1。

假设您有一个正在运行的线程,该线程接受客户端连接。该线程可以同时处理10个客户端。然后每个新客户端设置信号量,直到信号量达到10。当信号量有10个标志时,线程将不接受新的连接

互斥通常用来保护东西。假设您的10个客户端可以访问系统的多个部分。然后,您可以使用互斥保护系统的一部分,以便当一个客户端连接到该子系统时,其他任何人都不应该有访问权限。你也可以使用一个信号量来达到这个目的。互斥体是一个"Mutual Exclusion Semaphore"

票数 118
EN

Stack Overflow用户

发布于 2009-04-21 06:57:54

互斥量用于对资源的串行访问,而信号量将对资源的访问限制为一个设定值。你可以把一个互斥锁想象成一个信号量,它的访问次数为1。无论你把信号量的计数设为什么值,线程都可以在资源被阻塞之前访问该资源。

票数 10
EN

Stack Overflow用户

发布于 2009-04-21 06:56:48

信号量是一种计数同步机制,而互斥锁不是。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/771347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档