C#_C#使用Parallel类进行多线程编程实例,本文实例讲述了C#使用 Parallel
action, CharSet = CharSet.Auto, criticalSection));}} }} , action, action。
action。
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", action。
action, 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,Thread.CurrentThread.ManagedThreadId,GetCurrentProcessorNumber(), 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}",。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/c/9043.shtml
