青岛市黄岛区邮编,东汉书院校歌,nuk和贝亲哪个好
答案:是线程安全的,只读不写多线程下,完全不需要加锁!
测试代码:
using system; using system.diagnostics; using system.threading; using system.collections.generic; namespace hello { public class threadsafe { dictionary<int, int> dits = new dictionary<int, int>(); public threadsafe() { for (int i = 0; i < 100; i++) { dits.add(i, i); } } public void test(object i) { int t = convert.toint32(i); int v; thread.sleep(1); dits.trygetvalue(t, out v); if (!t.equals(v)) { console.writeline("i:{0},v:{1}", t, v); } } } }
模拟5万个线程读字典,看看是否混乱:
static void main(string[] args) { threadsafe ts = new threadsafe(); random random=new random(); console.writeline("hello world!2"); for (int i = 0; i < 50000; i++) { new thread(new parameterizedthreadstart(ts.test)).start(random.next(100)); } console.read(); }
完全不需要担心,放心
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论