光彩花艺,库库鲁的宝箱,末世小说排行榜
//定义原子变量
int mituxint = -1; //原子级别+1值,如果>=0,说明当前锁为空,可以执行,避免重复执行 if (interlocked.increment(ref mituxint) <= 0) { if (_serverthread == null || (_serverthread.isalive == false)) { autoconnect = isautoconn; _serverthread = new thread(new threadstart(threadconnectserver)); _serverthread.isbackground = true; _serverthread.start(); } interlocked.exchange(ref mituxint, -1); }
int lock2=0;
private void funcmustdo()
{
//交换lock2 和1,返回lock2以前的值,这个和lock不一样的是,可以加其他条件
while (interlocked.exchange(ref lock2, 1) != 0)
{
}
//啪嗒啪嗒执行操作
//置0
thread.volatilewrite(ref lock2, 0);//thread.volatilewrite执行一个原子写入操作,它的每次执行都具有释放语义
}
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论