多线程应用程序

来源:互联网 发布:淘宝店铺分析报告 编辑:程序博客网 时间:2024/06/05 14:54

我们习惯在一个单独的线程中额外执行一些耗时,或者执行一些可能妨碍其他任务的任务的操作,通过多个线程的合理运用,让客户端得到更为快速的响应方式。通过利用单独的线程去执行 CPU 密集型和 IO 密集型的工作,让用户界面一直处于活跃状态。当然,任何事物都具有两面性,处理不当的话会诱发线程安全的问题。

创建与使用线程

  我们常使用 new 关键字对线程实现创建,下面是一些常见的线程方法。

  1. //创建线程
  2. var thread = new Thread(() => Console.WriteLine());
  3. //启动
  4. thread.Start();
  5. //终止
  6. thread.Abort();
  7. #region 方法已过时
  8. //挂起
  9. thread.Suspend();
  10. //恢复挂起的线程
  11. thread.Resume();
  12. #endregion 方法已过时
复制代码

线程属性

  一些常见的属性。

  1. //线程优先级
  2. //thread.Priority
  3. //线程的状态
  4. //thread.ThreadState
  5. //线程的执行状态
  6. //thread.IsAlive
  7. //是否后台线程
  8. //thread.IsBackground
  9. //线程名称
  10. //thread.Name

线程的优先级

  CPU 会向优先级高的线程分配更长的时间段。

后台线程

  后台线程会在最后一个前台线程停止后立即停止。


【参考】https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/threading/multithreaded-applications

原创粉丝点击