C#多线程协同完成一个任务
来源:互联网 发布:网络解锁 编辑:程序博客网 时间:2024/05/29 07:19
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace ConsoleApplication3{ class Program { static long Sum=0; static object mylock; static void Main(string[] args) { long n = 0; long s1 = DateTime.Now.Ticks; for (int i = 0; i <= 100; i++) { n += i; Thread.Sleep(10); } long s2 = DateTime.Now.Ticks; Console.Write("----------------单线程运行-------------------\nsum:" + n + "\n\r所花时间(纳秒):" + (s2 - s1)+"\n"); Console.Write("----------------双线程运行-------------------\n"); Thread t1 = new Thread(add1); Thread t2 = new Thread(add2); mylock = new object(); s1 = DateTime.Now.Ticks; t1.Start(); t2.Start(); t1.Join(); t2.Join(); s2 = DateTime.Now.Ticks; Console.Write("sum:" + n + "\n\r所花时间(纳秒):" + (s2 - s1)); Console.ReadKey(); } static void add1() { long n = 0; for (int i = 0; i <= 50; i++) { n += i; Thread.Sleep(10); } Monitor.Enter(mylock); Sum += n; Console.Write("线程一运行完毕,Sum:" + Sum+"\n"); Monitor.Exit(mylock); } static void add2() { long n = 0; for (int i = 51; i <= 100; i++) { n += i; Thread.Sleep(10); } Monitor.Enter(mylock); Sum += n; Console.Write("线程二运行完毕,Sum:" + Sum + "\n"); Monitor.Exit(mylock); } }}
1 0
- C#多线程协同完成一个任务
- C# 多线程协同完成一个任务
- C# 多线程协同完成一个任务
- C# 多线程协同完成一个任
- 多线程完成多个任务
- c# Task多线程并行任务中等待所有线程都执行完成
- 一个比较多线程(并行)和非多线程下完成同等任务(I/O频繁)所需开销的案例
- c#中任务工厂执行多线程任务
- C#多线程之 任务工厂
- C# 创建简单多线程任务
- C#多线程编程Task任务
- 地震预测:一个可能完成的任务?
- ios在后台 完成一个长期任务
- ios在后台 完成一个长期任务
- 如何创建一个多线程任务
- c# 关于启动一个等待MASK窗体盖住主窗体,任务完成后,关掉MASK窗体的总结
- Python多线程协同(C/P)完成设备[反复重启]疲劳测试
- 一个没有完成的多线程题目
- java application应用程序 使用JDBC和proxool两种方式连接数据库 的测试程序代码
- jquery click 传递参数
- android camera(一):camera模组CMM介绍 .
- HEVC ZOrder and RasterOrder
- 仔细推敲,这些说法都是无稽之谈
- C#多线程协同完成一个任务
- linphone mediastream2 分析-双向录音机
- filter过滤器的功能简要介绍
- linux打包压缩命令汇总
- Codeforces Round #231 (Div. 2) B Very Beautiful Number(数字递推)
- ZJU_PAT_basic level_1014 字符串的简单处理与临界值的判定
- 深度围观block:三
- android camera(二):摄像头工作原理、s5PV310 摄像头接口(CAMIF) .
- 通过shell脚本修改xml文件中的某行记录