c# socket 异步 全局静态变量

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

小弟在这个问题上卡了很久了!麻烦大神的解答!谢谢!
...全文
258 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kangkang08 2013-12-04
  • 打赏
  • 举报
回复
引用 5 楼 shiguohui000 的回复:
再一个,要什么全局变量的,搞一个事件出来不就完事了么?绝对不存在加不加锁的问题了。
大虾 具体怎么说?
  • 打赏
  • 举报
回复
学习ing...
  • 打赏
  • 举报
回复
静态成员,使用多线程的话有必要做线程同步处理,把静态成员里的值实时纪录下来应该就能看出问题了
shighui 2013-12-04
  • 打赏
  • 举报
回复
再一个,要什么全局变量的,搞一个事件出来不就完事了么?绝对不存在加不加锁的问题了。
shighui 2013-12-04
  • 打赏
  • 举报
回复
改变值的地方和读取值的地方都Lock
feiyun0112 2013-12-04
  • 打赏
  • 举报
回复
读和写的位置都要lock
kangkang08 2013-12-04
  • 打赏
  • 举报
回复
引用 1 楼 feiyun0112 的回复:
加lock ***************************************************************************** 签名档: http://feiyun0112.cnblogs.com/
我的全局静态变量已经LOCK了!但是貌似还是无效! 是在接收的方法就开始lock还是我处理的里面lock 貌似没有很大的区别
feiyun0112 2013-12-04
  • 打赏
  • 举报
回复
加lock

*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
kangkang08 2013-12-04
  • 打赏
  • 举报
回复
坐等回复啊!求大神!

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧