比如:有个List,线程A与线程B都要用到这个List。线程A去为这个List赋值,线程B去读取这个List,
问题在于:如果线程A正在写入,线程B去读取的话,会造成线程A还没写完,线程B读出来的数据不全,
怎么解决呢?(可以锁定一个变量吗?线程A在写的时候锁定List 变量,线程B就不能读取)请大侠们指教下……
问题在于:如果线程A正在写入,线程B去读取的话,会造成线程A还没写完,线程B读出来的数据不全,
怎么解决呢?(可以锁定一个变量吗?线程A在写的时候锁定List 变量,线程B就不能读取)请大侠们指教下……
解决方案 »
- 不可理喻的错误,那位高手能帮小弟看看,不胜感激!
- c# 中怎么把信息写入xml文件
- 如何把sql中现成的表转换成excel
- 调用faxcom.dll问题
- 请问如何做一个如QQ登陆窗口中的密码输入框那种textbox啊?
- 怎样在系统关闭时的强制关闭程序时,该程序调用一个方法??????
- 请教:如何防止可序列化类中的某些方法被序列化?
- 求SQL Server Management Studio数据库教程 最好视频
- ******************请问关于在子线程中操作窗体的问题*******************
- C#中如何定义控件数组
- 未将对象引用到对象实例
- CrystalReport1水晶报表的问题
{
//写
}lock(list)
{
//读
}
顺便说下,其实泛型List 的对象是现成安全的,不需要lock。例如list.Add(),list.Remove()是可以直接用的如果是对List列表中包含的对象进行读写操作,就需要做同步处理了