码迷,mamicode.com
首页 > 编程语言 > 详细

线程在C#中的使用

时间:2017-05-06 13:17:28      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:throw   for   lin   run   join   stopped   方法   同步方法   obj   

  概念:
    进程是操作系统对一个正在运行的程序的一种抽象(处理器,主存,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
  任务的取消
    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()即可

线程在C#中的使用

标签:throw   for   lin   run   join   stopped   方法   同步方法   obj   

原文地址:http://www.cnblogs.com/student-note/p/6816123.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!