Thread.Sleep与Task.Delay的区别
类别:编程学习 浏览量:1711
时间:2016-11-20 Thread.Sleep与Task.Delay的区别
Thread.Sleep与Task.Delay的区别1、Thread.Sleep 是同步延迟,Task.Delay异步延迟。
2、Thread.Sleep 会阻塞线程,Task.Delay不会。
3、Thread.Sleep不能取消,Task.Delay可以。
4、Thread.Sleep实例
(1)、代码
using System
using System.Threading;
namespace ThreadTest
{
public class A
{
public static void B()
{
while (true)
{
Console.WriteLine("A.B is running in its own thread.");
}
}
}
public class C
{
public static void Main()
{
Thread t = new Thread(new ThreadStart(A.B));
t.Start();
Thread.Sleep(5);
t.Abort();
t.Join();
Console.WriteLine("A.B has finished");
Console.ReadLine();
}
}
}
(2)、运行后显示若干行"A.B is running in its own thread."和一行"A.B has finished";
(3)、若取消程序中的“Thread.Sleep(5);”句,则运行后只显示"A.B has finished"。
5、Task.Delay()实例
// Thread.Sleep是同步延迟, Task.Delay异步延迟;
// Thread.Sleep不能取消,Task.Delay可以。
Task.Run(async () =>
{
//将任务延迟1000毫秒后运行,如果无限等待那么指定为-1
await Task.Delay(1000);
Console.WriteLine("Task Start");
//CancellationToken设置为true就是标志Task任务取消,为false和 await Task.Delay(1000)一样将任务延迟3000毫秒后运行
await Task.Delay(1000, new CancellationToken(true));
Console.WriteLine("这里不会被执行,因为任务取消了~");
});
标签:线程
您可能感兴趣
- tomcat优化jvm(Tomcat修正JDK原生线程池bug的实现原理)
- python多线程有两个参数怎么传(python从子线程中获得返回值的方法)
- python线程安全队列(Python 限制线程的最大数量的方法Semaphore)
- python线程池的实现原理(详解python中的线程与线程池)
- python计算csv的行数(对Python 多线程统计所有csv文件的行数方法详解)
- 进程和线程的区别有哪些
- python线程池怎么设置(python自定义线程池控制线程数量的示例)
- yield方法可以使一个线程停止运行(Yii2.0框架模型添加/修改/删除数据操作示例)
- laravel多线程处理请求(Laravel 6 将新增为指定队列任务设置中间件的功能)
- mysql死锁情况(MySQL kill不掉线程的原因)
- python多线程多进程运行场景(Python多线程同步---文件读写控制方法)
- python开启线程池(对python:threading.Thread类的使用方法详解)
- python开启两个线程(Python开启线程,在函数中开线程的实例)
- js的异步请求(浅谈JS三座大山之异步和单线程)
- pymongo是否线程安全(pymongo中group by的操作方法教程)
- phpcurl请求能在日志里记录吗(php使用curl模拟多线程实现批处理功能示例)
- 我们现在吃的苹果是哪里来的 原来现代苹果引入中国仅有一百多年(我们现在吃的苹果是哪里来的)
- 买绿宝不能只挑黄绿色 菜农教你3招挑,个个皮薄肉脆,香甜爆汁(买绿宝不能只挑黄绿色)
- 大果肉搭配薄瓜皮, 绿宝 脆甜爽口,不愧是甜瓜中的 佼佼者(大果肉搭配薄瓜皮)
- 河南尉氏县因地制宜发展果蔬种植 水坡镇绿宝甜瓜变 金瓜(河南尉氏县因地制宜发展果蔬种植)
- 谢广坤,你这么欺负谢腾飞,良心不会痛吗(你这么欺负谢腾飞)
- 乡村爱情15 宋晓峰怀疑自己孩子,腾飞与姜奶奶亲子鉴定出结果(宋晓峰怀疑自己孩子)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9