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.
  • 相关阅读:
    Activity 之使用
    Activity 之生命周期
    Activity 关于生命周期一些问题的实践验证
    深入理解Java虚拟机-第1章-走进Java-读书笔记
    代码整洁之道-第11章-系统-读书笔记
    代码整洁之道-第10章-类-读书笔记
    代码整洁之道-第9章-单元测试-读书笔记
    代码整洁之道-第8章-边界-读书笔记
    代码整洁之道-第7章-错误处理-读书笔记
    华为交换机做端口流量统计
  • 原文地址:https://www.cnblogs.com/student-note/p/6816123.html
Copyright © 2011-2022 走看看