学编程那么久第一写博客,感觉现在才是真正地去对待,去学习如何去编程。一直对编程是又爱又恨,学得不怎么样,工作也找得不怎么样。和自己一起走这行的同学估计已经比我这只蠢鸟飞远很多了吧。很气自己懒散,很气自己想当然,编程不会一蹴而就,一步一个脚印,即使是抄也得打上一遍,记不住就再打,总有一天会记住的,毕竟当年HelloWorld都要琢磨一阵的自己已经不在了,每天都会有不懂的东西出现,要做的就是认识它,学会它,领悟它。
今天学到小玩意,C#的“线程安全整形”,用来解决多线程同时访问一个变量的问题。
首先定义一个ConcurrentInteger类
public class ConcurrentInteger
{
private int value;
Mutex tex=new Mutex();
public ConcurrentInteger(){};
public ConcurrentInteger(int value){ this.value=value;}
//自增并返回值
public int GetAndAdd()
{
lock(this);
tex.WaitOne();
value++;
tex.ReleaseMutex();
return value;
}
//自减并返回值
public int GetAndReduce()
{
lock(this);
tex.WaitOne();
value++;
tex.ReleaseMutex();
return value;
}
//重置value
public void Reset()
{
lock(this);
value=0;
tex.ReleaseMutex();
}
}
转载请注明原文地址: https://ju.6miu.com/read-676368.html