vb.net C#线程锁超时控制代码

时间:2020-06-01 10:42:57
【文件属性】:
文件名称:vb.net C#线程锁超时控制代码
文件大小:68KB
文件格式:RAR
更新时间:2020-06-01 10:42:57
线程超时 线程锁 ManualResetEvent是一个超时等待的线程锁,如果超时返回false,接收指令显示true,但是没法实现在超时后让他继续等待,这种需求我们可以用在以下场景: 控制线程超时方法 1.[主线程]:请求方发送请求,立即创建超时等待线程锁 2.[异步线程]:接收数据,数据包合并,数据包合并完成后向解锁主线程 3,[主线程]:超时则进入超时异常,接到异步线程的通知则进入后续业务 我们在使用时会发现,第二步可能是一个时间长短很难预估的范围,例如你可能是获取一个数据库(1秒),也可能是获取一个6GB文件(10分钟),他们需要等待的时间是完全不一样。那么主线程的等待时间怎么设置都是不合理的. 我们的需要是:第二步接收一次,就告知主线程一次(我接收了数据,请把等待重置一下吧),很遗憾,ManualResetEvent不具有此功能。
【文件预览】:
bin
----Debug()
--------线程锁测试.xml(692B)
--------线程锁测试.vshost.exe(11KB)
--------线程锁测试.vshost.exe.manifest(490B)
--------线程锁测试.exe(25KB)
--------线程锁测试.pdb(50KB)
Form1.vb
obj
----Debug()
--------线程锁测试.xml(692B)
--------线程锁测试.vbproj.FileListAbsolute.txt(2KB)
--------DesignTimeResolveAssemblyReferences.cache(863B)
--------线程锁测试.vbprojAssemblyReference.cache(424B)
--------DesignTimeResolveAssemblyReferencesInput.cache(6KB)
--------线程锁测试.Resources.resources(180B)
--------线程锁测试.Form1.resources(180B)
--------线程锁测试.exe(25KB)
--------TempPE()
--------线程锁测试.pdb(50KB)
--------线程锁测试.vbproj.CoreCompileInputs.cache(42B)
--------线程锁测试.vbproj.GenerateResource.Cache(975B)
线程锁测试.sln
线程锁测试.vbproj
My Project
----AssemblyInfo.vb(1KB)
----Settings.Designer.vb(3KB)
----Application.myapp(510B)
----Settings.settings(279B)
----Resources.resx(5KB)
----Resources.Designer.vb(3KB)
----Application.Designer.vb(1KB)
Form1.resx
Form1.Designer.vb
线程锁测试.suo

网友评论