多线程应用程序

我们习惯在一个单独的线程中额外执行一些耗时,或者执行一些可能妨碍其他任务的任务的操作,通过多个线程的合理运用,让客户端得到更为快速的响应方式。通过利用单独的线程去执行 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值