zoukankan      html  css  js  c++  java
  • 线程在C#中的使用

      概念:
        进程是操作系统对一个正在运行的程序的一种抽象(处理器,主存,I/O设备),进程是并发的
        线程是指进程中的一个执行流程,一个进程中可以运行多个线程。线程是并行的
      线程的特性:
        1.线程的执行顺序由操作系统来决定
        2.状态:
          1.Unstarted 就是Thread实例化了,但是又没有调用Start()
          2.Running 调用了Start()后就是Running状态
          3.WaitSleepJoin 调用Seeep()或其他
          4.Stopped 停止
          5.AbortRequested
          6.Aborted
      常用的同步方法
        1.lock
        2.Monitor
          object loc = new object();
          Monitor.Enter(loc);
          try
          {

          }
          finally
          {
          Monitor.Exit(loc);
          }
        3.Mutex

        4.Interlocked

        5.System.Collections.Concurrent 命名空间 下的类

          6.Lazy<T>

      任务的取消
        1.创建CancellationTokenSource对象
        2.得到上面对象的Token对象
        3.调用上面对象的ThrowIfCancellactionRequested();记得要捕获
        4.调用Token.Cancel();

      Parallel:此类可以让你以并行的模式来遍历一个集合
        常用方法
          1.For
          2.ForEach
          3.Invoke
      PLinq编程

      使用:
          var data = Enumerable.Range(0, 100000000);
          var result = (from b in data.AsParallel() where b % 2 == 0 select b).Count();
          Console.WriteLine(result);
      如果要取消呢?
        和上面的一样,调用Token.Cancel()即可

    Hold on, everything is possible.
  • 相关阅读:
    23.Vue技术栈开发实战-Icon组件
    shell脚本每行后面多了一个^M的原因和解决办法
    mmap概述
    camera otp介绍
    brk实现
    USB技术浅析
    带你遨游USB世界
    echarts 更换主题颜色
    Hive UDAF介绍与开发
    2020湖北高考理科第一名唐楚玥的学习方法演讲
  • 原文地址:https://www.cnblogs.com/student-note/p/6816123.html
Copyright © 2011-2022 走看看