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 ...
随机推荐
- Feign 自定义编码器、解码器和客户端,Feign 转发请求头(header参数)、Feign输出Info级别日志
Feign 的编码器.解码器和客户端都是支持自定义扩展,可以对请求以及结果和发起请求的过程进行自定义实现,Feign 默认支持 JSON 格式的编码器和解码器,如果希望支持其他的或者自定义格式就需要编 ...
- cannot access org.springframework.core.io.InputStreamSouce
cannot access org.springframework.core.io.InputStreamSouce错误,把mian路径下main.iml文件备份一下,然后删除该文件,报错就会消失,但 ...
- Ramdisk根文件系统映像的修改与创建
本文简述Ramdisk根文件系统映像的修改以及创建,并附相关脚本以实现自动化配置,而根文件系统的制作过程请网上自行搜索.相关过程尽可能以图的方式展示出来,重在说明操作的过程,仅供参考. Ramdisk ...
- 函数this指向哪个对象?
函数的this指向是根据函数调用时所处的执行环境来确定的. this指向对象的情况有四种: 1.使用new关键字时:this会绑定构造函数所创建的对象. function Foo(){ this.a ...
- sparksql读取hive数据报错:java.lang.RuntimeException: serious problem
问题: Caused by: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: ...
- pandas-05 map和replace操作
# pandas-05 map和replace操作 map可以做一个映射,对于操作大型的dataframe来说就非常方便了,而且也不容易出错.replace的作用是替换,这个很好理解. import ...
- ubuntu16.04安装openssh中报错解决
在使用apt-get直接进行安装时会报错: sudo apt-get install openssh-server 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态 ...
- 深入理解JVM-hotspot虚拟机对象探秘
1.背景与大纲 在我们了解了java虚拟机的运行时数据区后,我们大概知道了虚拟机内存的概况,但是我们还是不清楚具体怎么存放的访问的: 接下来,我们将深入探讨HotSport虚拟机在java堆中对象的分 ...
- windows环境下安装mysql5.7.20
配置my.ini文件 [client] port=3306 default-character-set=utf8 [mysqld] # 设置为自己MYSQL的安装目录 basedir=D:\Progr ...
- R语言包在linux上的安装等知识
有关install.packages()函数的详见:R包 package 的安装(install.packages函数详解) R的包(package)通常有两种:1 binary package:这种 ...