多线程
文章平均质量分 54
fervour
梦在哪里...
展开
-
C# 浅析并行任务同步机制——Interlocked
i++和i-- 这种原子操作,都不是线程安全的,它的操作包括从内存中读取一个值,给值递增或递减,然后再将它存储回内存。场景:实现一个人数访问的次数,每一个线程代表一次访问,线程安全的操作,应该是最后的访问人数和总数相等,不安全的操作,访问的次数有重复。ConcurrentDictionary:线程安全字典,用来存放访问次数的存放。访问人数实体,声明了一个线程安全的递增操作,一个线程不安全的递增操作。当运行结果中,不安全线程,中存在数据,而安全线程中,不存在重复的数据。优点:与其他技术相比,较快。原创 2023-04-12 19:41:00 · 1337 阅读 · 0 评论 -
C# 浅析并行任务同步机制——Barrier类
Barrier:非常适用于其中工作有多个任务分支且以后又需要合并的工作情况。简单场景:假设有三个队伍拉练,队伍全部拉练完成之后,才算顺利完成下面为实现代码class Program{ static void Main(string[] args) { Begin(); ReadLine(); } private static void Begin() { .原创 2021-03-10 11:23:08 · 1079 阅读 · 1 评论 -
一个多线程的面试题
面试题的大意是:启动三个线程,分别打印A、B、C,每个打印十遍,打印的顺序为ABCABCABC... 我的思路是用了线程同步技术中的事件ManualResetEvent事件,用到方法有 Set 将事件的状态设置为终止状态,允许一个或原创 2013-02-28 23:00:24 · 980 阅读 · 0 评论 -
多线程面试题(二)
面试题意思:启动三个线程,第一个线程生成随机数,生成的偶数传给B线程开平方,生成的奇数传给C开平方。 代码如下: 由于在线程方面的知识尚浅,不知有没有疏忽的地方,还请大牛指教。 static ArrayList arrayB = new ArrayList();原创 2013-02-28 23:16:32 · 2067 阅读 · 1 评论