• 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);
    }
    }
    }

  • 相关阅读:
    Cocos2d-x之物理世界(创建悬浮的物体)
    Cocos2d-x之物理世界(创建静态的物体)
    Cocos2d-x之物理世界(创建运动的物体)
    cocos2d-x之Node移除HelloWorld节点
    IFNULL NULLIF ISNULL
    表格导出
    random模块
    Echarts
    "==" 与 "is"的区别
    angular
  • 原文地址:https://www.cnblogs.com/tsh292278/p/9238208.html
Copyright © 2020-2023  润新知