首页
新闻
会员
周边
捐助
园子
·
关注
·
粉丝
·
会员
·
随便看看
·
消息
欢迎,请先
登录
或者
注册
。
登录
/
注册
闪存
博客
发言
小组
投递
新闻
提问
博问
添加
收藏
文库
问题反馈
问题列表
我关注的
我的博问
博问标签
线程安全问题请教
0
[已解决问题]
解决于 2008-08-30 08:46
<P>1.首先,想问一下Queue<T>是线程安全的吗?</P> <P>2.我有一个全局的队列,我在一个线程中添加数据,在另一个线程中移除数据,这样操作要加什么同步的机制吗?</P> <P>3。当我调用queue.Count时要注意什么事项吗?</P>
.NET技术
C#
lexus
|
初学一级
|
园豆:
0
提问于:2008-08-03 11:51
显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。
<
>
分享
分享您的问题
最佳答案
0
使用把添加和删除这个对象的功能做成静态的 让对象唯一化 然后用lock关键字锁定就可以了
小眼睛老鼠
|
老鸟四级
|
园豆:2731
|
2008-08-03 12:21
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
其他回答(2)
0
1.如果是公共静态成员,肯定是线程安全的,但是实例成员,不一定线程安全。 2.多个线程操作,需要手工添加同步机制,如使用lock锁等,可以参考这篇文章里面的方法: http://terrylee.cnblogs.com/archive/2005/12/09/293509.html 3.涉及到多个线程,为了线程安全期间,建议在访问Count之前先锁定集合。
TerryLee
|
园豆:3300
(老鸟四级)
|
2008-08-03 17:28
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
这个……咋跟我和同事上周五讨论的问题一模一样?难道你是我同事?…… 呵呵,其实,泛型集合之所以去掉了获取线程同步类的静态方法,原因之一就是,.NET提供的线程同步是非常简单的,只需要加一个锁即可,因此,所有的泛型集合都不是线程安全的。
麒麟.NET
|
园豆:3614
(老鸟四级)
|
2008-08-04 12:18
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
清除回答草稿
您需要
登录
以后才能回答,未注册用户请先
注册
。