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.
  • 相关阅读:
    MySql 有用的函数
    mysql 触发器
    java之switch语句
    MaxAlertView 强大的弹框试图
    AVMoviePlayer 视频播放器
    Mac下不能安装第三方下载软件
    HTTPS链式编程——AFNetworking 3.0
    iOS推送证书生成pem文件(详细步骤)
    iOS成长之路-使用系统默认声音、震动
    iOS 怎么自定制推送声音呢?(APP运行时和APP进入后台时)
  • 原文地址:https://www.cnblogs.com/student-note/p/6816123.html
Copyright © 2011-2022 走看看