• C#多线程编程实战1.6线程优先级


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Threading;
    using System.Diagnostics;
    //线程优先级
    namespace Recipe6
    {
    class Program
    {
    static void Main(string[] args)
    {
    Console.WriteLine(Thread.CurrentThread.Priority);
    Console.WriteLine("Running on all cores available");
    RunThreads();
    Thread.Sleep(2);
    Console.WriteLine("Running on a single core");
    Process.GetCurrentProcess().ProcessorAffinity = new IntPtr(1);//让操作系统将所有的线程运行在单个CPU核心上
    RunThreads();
    Console.ReadKey();
    }
    static void RunThreads()
    {
    var sample = new ThreadSample();
    var threadOne = new Thread(sample.CountNumbers);
    threadOne.Name = "ThreadOne";
    var threadTwo = new Thread(sample.CountNumbers);
    threadTwo.Name = "ThreadTwo";

    threadOne.Priority = ThreadPriority.Highest;
    threadTwo.Priority = ThreadPriority.Lowest;
    threadOne.Start();
    threadTwo.Start();

    Thread.Sleep(2);
    sample.Stop();

    }
    }
    }

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Threading;
    namespace Recipe6
    {
    public class ThreadSample
    {
    private bool _isStopped = false;
    public void Stop()
    {
    _isStopped = true;
    }
    public void CountNumbers()
    {
    long counter = 0;
    while (!_isStopped)
    {
    counter++;
    }
    Console.WriteLine("CurrentThread.Name: {0} CurrentThread.Priority:{1} counter:{2} ", Thread.CurrentThread.Name, Thread.CurrentThread.Priority, counter);
    }
    }
    }

  • 相关阅读:
    试试主题显示
    四则运算
    实验四 决策树算法及应用
    实验三 朴素贝叶斯算法及应用
    实验二 K-近邻算法及应用
    实验一 感知器及其应用
    实验三 面向对象分析与设计
    实验二 结构化分析与设计
    实验一 软件开发文档与工具的安装与使用
    举例分析流程图与活动图的区别与联系
  • 原文地址:https://www.cnblogs.com/tsh292278/p/9238208.html
Copyright © 2020-2023  润新知