欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#使用Parallel類進(jìn)行多線程編程實(shí)例

 更新時(shí)間:2015年06月16日 15:46:28   作者:紅薯  
這篇文章主要介紹了C#使用Parallel類進(jìn)行多線程編程的方法,實(shí)例分析了Parallel類的相關(guān)使用技巧,需要的朋友可以參考下

本文實(shí)例講述了C#使用 Parallel 類進(jìn)行多線程編程的方法。分享給大家供大家參考。具體如下:

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#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C#實(shí)現(xiàn)漢字轉(zhuǎn)區(qū)位碼的示例代碼

    C#實(shí)現(xiàn)漢字轉(zhuǎn)區(qū)位碼的示例代碼

    區(qū)位碼是一個(gè)4位的十進(jìn)制數(shù),每個(gè)區(qū)位碼都對應(yīng)著一個(gè)唯一的漢字,區(qū)位碼的前兩位叫做區(qū)碼,后兩位叫做位碼,下面我們就來看看如何使用C#實(shí)現(xiàn)漢字轉(zhuǎn)區(qū)位碼吧
    2024-01-01
  • Unity實(shí)現(xiàn)滑動更換界面效果

    Unity實(shí)現(xiàn)滑動更換界面效果

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)滑動更換界面效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C#中DataSet轉(zhuǎn)化為實(shí)體集合類的方法

    C#中DataSet轉(zhuǎn)化為實(shí)體集合類的方法

    這篇文章主要介紹了C#中DataSet轉(zhuǎn)化為實(shí)體集合類的方法,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-10-10
  • 解析abstract與override究竟可不可以同時(shí)使用

    解析abstract與override究竟可不可以同時(shí)使用

    本篇文章是對abstract與override究竟可不可以同時(shí)使用進(jìn)行了詳細(xì)分析介紹,需要的朋友參考下
    2013-05-05
  • C#設(shè)計(jì)模式之Facade外觀模式解決天河城購物問題示例

    C#設(shè)計(jì)模式之Facade外觀模式解決天河城購物問題示例

    這篇文章主要介紹了C#設(shè)計(jì)模式之Facade外觀模式解決天河城購物問題,簡單描述了外觀模式的定義并結(jié)合具體實(shí)例分析了外觀模式解決購物問題的相關(guān)步驟與操作技巧,需要的朋友可以參考下
    2017-09-09
  • C#對文件進(jìn)行加密解密代碼

    C#對文件進(jìn)行加密解密代碼

    本文給大家分享的是使用C#對文件進(jìn)行加密解密的代碼,十分的簡單實(shí)用,有需要的小伙伴可以參考下。
    2015-07-07
  • C#設(shè)計(jì)模式實(shí)現(xiàn)之迭代器模式

    C#設(shè)計(jì)模式實(shí)現(xiàn)之迭代器模式

    迭代器模式把對象的職責(zé)分離,職責(zé)分離可以最大限度減少彼此之間的耦合程度,從而建立一個(gè)松耦合的對象,這篇文章主要給大家介紹了關(guān)于C#設(shè)計(jì)模式實(shí)現(xiàn)之迭代器模式的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • winform去掉右上角關(guān)閉按鈕的方法

    winform去掉右上角關(guān)閉按鈕的方法

    這篇文章主要介紹了winform去掉右上角關(guān)閉按鈕的方法,需要的朋友可以參考下
    2014-02-02
  • 如何搭建新的WPF項(xiàng)目框架

    如何搭建新的WPF項(xiàng)目框架

    這篇文章主要介紹了如何搭建新的WPF項(xiàng)目框架,在項(xiàng)目開發(fā)中比較常見的開發(fā)模式就是MVVM模式,使用MVVM框架開發(fā)好處:1、框架較輕,2、學(xué)習(xí)成本低、3、適用大多數(shù)中小型項(xiàng)目,4、相對于微軟的prism框架更容易上手,需要的朋友可以參考下
    2015-07-07
  • unity實(shí)現(xiàn)動態(tài)排行榜

    unity實(shí)現(xiàn)動態(tài)排行榜

    這篇文章主要為大家詳細(xì)介紹了unity實(shí)現(xiàn)動態(tài)排行榜,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07

最新評論