Task 使用方法
Task的使用方法
1. 调用无参数、无返回值方法
private void button1_Click(object sender, EventArgs e)
{
Task task = new Task(() => { A(); }); task.Start();
} /// <summary>
/// 无参数无返回值方法
/// </summary>
public void A()
{ }
2. 调用有返回值、无参数的方法
private void button1_Click(object sender, EventArgs e)
{
Task<bool> task = new Task<bool>(() => { return A(); });
task.Start(); //获取返回值结果
bool result=task.Result; MessageBox.Show(result.ToString());
} /// <summary>
/// 有返回值、无参数的方法
/// </summary>
public bool A()
{
return true;
}
3.调用无返回值、有参数
private void button1_Click(object sender, EventArgs e)
{
string parameter = "参数";
Task task = new Task(() => { A(parameter); });
task.Start();
} /// <summary>
/// 无返回值、有参数方法
/// </summary>
public void A(string str)
{
//方法体
}
4. 调用有返回值、有参数的方法
private void button1_Click(object sender, EventArgs e)
{
string parameter = "参数";
Task<bool> task = new Task<bool>(() => { return A(parameter); });
task.Start(); //获取结果
bool result=task.Result; MessageBox.Show(result.ToString());
} /// <summary>
/// 有返回值、有参数的方法
/// </summary>
public bool A(string str)
{
return true;
}
Task 使用方法的更多相关文章
- .Net4.0如何实现.NET4.5中的Task.Run及Task.Delay方法
前言 .NET4.0下是没有Task.Run及Task.Delay方法的,而.NET4.5已经实现,对于还在使用.NET4.0的同学来说,如何在.NET4.0下实现这两个方法呢? 在.NET4.0下, ...
- C# 以函数Action/Func/Task作为方法参数
以Action.Func.Task作为方法参数,mark一下 以Action为参数 public void TestAction() { //Action参数 ExecuteFunction(() = ...
- Task.Delay方法的2个应用实例,单元测试等待,限时限次下载远程资源
如果想让程序异步等待一段时间,可以考虑使用Task.Delay方法. 比如,在单元测试中模拟一个异步操作. static async Task<T> DelayedResult<T& ...
- 使用Unity拦截一个返回Task的方法
目标 主要是想为服务方法注入公用的异常处理代码,从而使得业务代码简洁.本人使用Unity.Interception主键来达到这个目标.由于希望默认就执行拦截,所以使用了虚方法拦截器.要实现拦截,需要实 ...
- Thread.Join 和 Task.Wait 方法
这两个方法 可以说是类似的功能,都是对当前任务进行等待阻塞,执行完毕后再进行后续处理 talk is cheap, show you code,下面一个是异步执行,一个是加了阻塞,可以对比不同执行结果 ...
- Gradle学习之创建Task的方法
请通过下面方式下载本系列文章的Github演示样例代码: git clone https://github.com/davenkin/gradle-learning.git Gradle的Pr ...
- Task扩展方法取消操作
/// <summary> /// 任务扩展,传入取消操作 /// </summary> public static class TaskExtensionDemo { //因 ...
- Task.Run()方法总结
一.从异步方法的声明说起 无返回值的类型异步方法 (1)public async Task MethodName() 带返回值类型的异步方法 (2)public async Task<TResu ...
- async await Task 使用方法
使用概述 C#的使用过程中,除了以前的Thread.ThreadPool等用来开一个线程用来处理异步的内容.还可以使用新特性来处理异步.比以前的Thread和AutoResetEvent.delege ...
随机推荐
- Intellij IDEA debug断点调试技巧与总结详解篇
1. Rerun . 这个就是结束debug模式,直接以run的方式重新跑某个程序.2. 直接跑完. 到下一个断点停下. 没有就直接跑完程序.3. 停止项目或者程序.要是自己的main呢. 点一下就停 ...
- STL源码剖析——序列式容器#3 Deque
Deque是一种双向开口的连续线性空间.所谓的双向开口,就是能在头尾两端分别做元素的插入和删除,而且是在常数的时间内完成.虽然Vector也可以在首端进行元素的插入和删除(利用insert和erase ...
- PHP 去一定范围随机小数 随机浮点数
例如取2到3中的 随机小数(一位)或整数 mt_rand(20,30)/10 mt_rand()是随机取整函数 先扩大一定倍数,再缩小相应倍数,倍数代表精确到哪一位
- Python爬虫:现学现用xpath爬取豆瓣音乐
爬虫的抓取方式有好几种,正则表达式,Lxml(xpath)与BeautifulSoup,我在网上查了一下资料,了解到三者之间的使用难度与性能 三种爬虫方式的对比. 这样一比较我我选择了Lxml(xpa ...
- Linux基础(05)socket编程
Linux的核心思想之一 "一切皆文件" 内容 , socket在Linux内核的实现的代码及TCP和UDP的实现 网络编程常用头文件: https://blog.csdn.net ...
- Python入门 常量 注释 基础数据类型 用户输入 流程控制
Python入门 一.常量 在Python中,不像其他语言有绝对的常量,修改会报错,在Python中有个约定俗成的规定--常量就是将变量名大写. 尽量保持不更改的一种量 , 这个常量有是干什么的呢 其 ...
- U9期间在手量控制
1.路径 库存管理->参数控制 2.设置节点 期间在手量控制时机 :单据实时控制.日关账控制.不控制 3.实现效果
- UI单据按钮点击事件校验
一.按钮点击前事务处理<BeforeEventProcess> public override void BeforeEventProcess(IPart part, string eve ...
- 使用canvas实现360水球波动
代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- AVI文件格式
AVI文件采用的是RIFF文件结构方式.波形音频wave,MIDI和数字视频AVI都采用这种格式存储. AVI文件的整体结构如下图所示 构造RIFF文件的基本单元叫做数据块(Chunk),每个数据块包 ...