本文实例讲述了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#程序设计有所帮助。
本文地址:https://www.stayed.cn/item/22165
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我