C#使用Parallel类进行多线程编程实例
发布时间:2020-12-15 05:56:14 所属栏目:百科 来源:网络整理
导读:本篇章节讲解C#使用 Parallel 类进行多线程编程的方法。供大家参考研究。具体如下: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;using System.Diagn
本篇章节讲解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 }); 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#程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |