C#使用Parallel类进行多线程编程实例

Viveka ·
更新时间:2024-09-21
· 613 次阅读

本文实例讲述了C#使用 Parallel 类进行多线程编程的方法。分享给大家供大家参考。具体如下:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Diagnostics; using System.Runtime.InteropServices; namespace Threads { class Program { [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern int GetCurrentProcessorNumber(); private static int criticalSection = 0; private static object lockObject = new object(); static void Main(string[] args) { Console.WriteLine("==================Sequential calls=============="); Console.WriteLine(); Target(); Target(); Target(); Target(); Target(); Target(); Target(); Target(); Console.WriteLine(); Console.WriteLine("==================Parallel calls=============="); Console.WriteLine(); Action action = new Action(Target); Parallel.Invoke(new Action[] { action, action, action, action, action, action, action, action }); Console.ReadKey(); } private static void Target() { Thread.Sleep(2000); lock (lockObject) { criticalSection++; Console.WriteLine(string.Format("Thread ID: {0} and Processor ID: " + "{1} Critical Variable Value: {2}", Thread.CurrentThread.ManagedThreadId, GetCurrentProcessorNumber(), criticalSection)); } } } }

希望本文所述对大家的C#程序设计有所帮助。

您可能感兴趣的文章:C#解决SQlite并发异常问题的方法(使用读写锁)如何使用C#读写锁ReaderWriterLockSlim解析C#多线程编程中异步多线程的实现及线程池的使用C#基于委托实现多线程之间操作的方法C#实现向多线程传参的三种方式实例分析C#实现多线程写入同一个文件的方法C#实现多线程下载文件的方法C#如何对多线程、多任务管理(demo)C#实现多线程的Web代理服务器实例C#使用读写锁三行代码简单解决多线程并发的问题



C# 多线程编程 多线程 线程

需要 登录 后方可回复, 如果你还没有账号请 注册新账号