首页 / 知识
关于c#:这是否正确使用了互斥锁?
2023-04-14 09:26:00

Is this the proper use of a mutex?我遇到的情况是我可能同时运行一个程序的多个实例,并且重要的是,一个特定的函数不能一次在多个实例中执行。 这是使用互斥量防止这种情况发生的正确方法吗?
您说一个应用程序有多个实例,所以我们正在谈论两个program.exe正在运行,对吗? lock语句不会锁定多个程序,而只是锁定在该程序中。如果要使用真正的Mutex,请查看System.Threading.Mutex对象。 这是一个用法示例:
createdNew变量将让您知道它是否是第一次创建。但是,它仅告诉您是否已创建。如果要获取锁,则需要调用WaitOne,然后调用ReleaseMutex来释放它。如果只想查看是否创建了互斥锁,则只需构造它即可。 TheSeeker是正确的。 Jeff Richter在Clr Via C#(p638-9)中关于锁定的建议是创建一个专用于锁定的私有对象。
之所以可行,是因为_lock不能被当前类之外的任何东西锁定。 EDIT:这适用于在单个进程中执行的线程。 @David Mohundro的答案对于进程间锁定是正确的。 |
最新内容
相关内容
linux进程运行命令?
linux进程运行命令?,系统,工作,状态,地址,信息,进程,基础,命令,管理,软件,linux常用命令有哪些1、linux系统常用操作命令linux系统常用操作命linux命令执行很慢?
linux命令执行很慢?,软件,系统,工具,分析,机构,服务,培训,教育,数字,数据,Linux执行命令慢有啥原因所以你说的慢,有好多原因,1可能是你LS的目录linux命令行执行py?
linux命令行执行py?,系统,环境,官网,一致,文件,程序,脚本,源文件,后台,终端,linux下用命令执行一个.py区别很大,因为用./执行的只能是可执行文linux查看执行命令?
linux查看执行命令?,系统,服务,情况,信息,命令,暂停,标准,概念,实时,第一,linux系统通过命令行查看cpu信息1、首先我们介绍lscpu命令,该条命令linux命令连续执行?
linux命令连续执行?,连续,通信,工具,数据,代码,命令,设备,系统,发行,情况,如何让linux连续执行几个命令,出错进停止1、[;]如果被分号(;)所分隔的linux执行命令卡住?
linux执行命令卡住?,系统,环境,密码,数据,信息,分析,软件,异常,服务,命令,Linux服务器上敲命令卡是什么原因1、数据库软件安装正常。在数据库linux显示运行命令?
linux显示运行命令?,系统,服务,状态,信息,工具,数据,电脑,标准,管理,时间,如何查看linux服务器运行状态?1、linux怎么查看服务器状态?我们一起linux命令执行不动了?
linux命令执行不动了?,系统,电脑,数据,管理,信息,密码,命令,环境,地方,分析,linux中为什么我的这条命令执行不了。我是菜鸟可能是配置出现了问linux运行vim命令?
linux运行vim命令?,系统,工具,官方网站,模式,基础,数据,代码,环境,入口,命令,如何使用Linux系统中的Vim编辑器1、vim编辑器的三种模式:一般模式linux监控命令运行?
linux监控命令运行?,系统,工作,地址,信息,工具,情况,标准,环境,命令,状态,linux服务器监控的几个方法和命令uptime 该命令直观的显示了服务器linux脚步中执行命令?
linux脚步中执行命令?,工具,代码,命令,名称,系统,连续,环境,发行,文件,终端,linux中.sh脚本文件中命令的执行顺序确保.sh文件具有执行权限:在终linux后台执行命令?
linux后台执行命令?,暂停,状态,系统,服务,标准,命令,后台,地方,进程,终端,linux系统中挂起操作和强制结束操作(后台运行程序方法)1、结束进程