![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
White_Hacker
这个作者很懒,什么都没留下…
展开
-
【C#】36. 多线程基础(1) Thread Start、Sleep
C#多线程基础原创 2016-12-11 13:09:47 · 2670 阅读 · 0 评论 -
【C#.37】多线程中的Sleep以及子线程优先级
继续上篇,其实在写文章的过程中真的实践了不少,而且发现和自己原来认为的有挺多不同的。因此有错误的话请多指正。以下的内容都是经过试验得出的:using System;using System.Threading;namespace Chapter1.Recipe2{class Program{static void Main(string[] args){Thread原创 2016-12-11 14:00:17 · 12769 阅读 · 0 评论 -
【C#】43. TPL基础——Task初步
从这篇文章开始,我想直接进入关于Task的一些内容,有时间再回顾Threadpool的相关内容。我一开始接触Task就觉得他和Thread很像,都是开新的线程。但是两者有很多区别,其中比较明显的是:Task创建的是线程池任务,而Thread默认创建的是前台任务。 同Thread一样,Task可以使用lambda表达式来构造action,作为Task的构造函数参数。如下:1原创 2016-12-11 20:56:10 · 2764 阅读 · 3 评论 -
【C#】45. Task ContinueWith 后续操作
本章内容其实挺重要的,但是现在我工作中还没怎么遇到,应该是我还没想到的关系吧~ContinueWith是Task根据其自身状况,决定后续应该作何操作。也就是说,在运行完task后,会执行task.continuewith(XX)中的XX语句,但是是否执行、如何执行等需要看task的运行情况。static int TaskMethod(string name, int seconds)原创 2016-12-11 22:23:08 · 23549 阅读 · 3 评论 -
【C#】46. 使用CancellationTokenSource 取消 Task
本篇的内容也很重要,因为涉及到了日常经常会碰到的取消任务操作。从我个人了解到的情况,基本上大家都采用CancellationTokenSource方法来取消任务,因此这里就举几个简单的例子。例子依然是来自于《C#多线程编程实战》。private static int TaskMethod(string name, int seconds, CancellationToken token)原创 2016-12-12 10:03:52 · 18924 阅读 · 0 评论 -
【C#】47. Task 的异常处理
就像在讨论线程的时候我们说过,要在线程调用的函数里面做try catch处理,如果在其他线程中使用try catch是无法正常捕获异常。Task也一样,基本原理就是一个线程没办法捕获另一个线程的异常。static int TaskMethod(string name, int seconds){Console.WriteLine("Task {0} 运行在线程 {1} 上。是否是线程池线程原创 2016-12-12 10:34:49 · 9425 阅读 · 0 评论