日期:2014-05-17  浏览次数:21285 次

c# socket 异步 全局静态变量
小弟最近在写一个TCP socket的程序,有一个全局静态变量(键值对),用于对某种消息接收后的处理,
但是目前存在一个问题,在接收数据里面有个处理,是处理种客户端数据的功能,第一个处理对全局变量进行修改(存储新的键值),另一个处理是对全局变量的读取。
并且存储肯定是在读取前,但是为什么读取不到存储过后的键值对。

小弟在这个问题上卡了很久了!麻烦大神的解答!谢谢!
socket异步?全局静态变量 socket 异步 全局静态变量

------解决方案--------------------
加lock
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
------解决方案--------------------
读和写的位置都要lock
------解决方案--------------------
改变值的地方和读取值的地方都Lock
------解决方案--------------------
再一个,要什么全局变量的,搞一个事件出来不就完事了么?绝对不存在加不加锁的问题了。
------解决方案--------------------
静态成员,使用多线程的话有必要做线程同步处理,把静态成员里的值实时纪录下来应该就能看出问题了
------解决方案--------------------
 mark                  lock  unlock   
------解决方案--------------------
学习ing...