是否可以在Task.Run()中选择性的调用async函数

public async Task test()
{
await xxx();
}

private async Task GetUserAsync()
{
return await Task.Run(() =>
{
while(true)
{
if(a>b)
{
//在调用test应该如何调用
}
}
});
}

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Async和await以及Task的爱恨情仇
任务Task class Program { static void Main(string[] args) { //任务 Task.Run(() => { Thread.Sleep(200); Console.WriteLine("Task启动执行匿名方法");//这段代码(可能
C#中Task任务和Async、Await异步非阻塞方式
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace TaskSample { class Program { stat
AsyncTask 坑(一) 哪些线程可以调用AsyncTask
看到很多文章说,只有主线程(UI线程)可以创建AsyncTask。个人觉得这个说法不对。从AsyncTask的角度讲,任何线程都可以创建并且使用AsyncTask。之所以会有主线程才能创建AsyncTask的说法,我想无非是onPostExecute, onProgressUpdate等回调里面想操作UI吧。假如一个后台线程创建了一个AsyncTask对象,并且使用它,那么当任务完成后,通过han
异步操作和async函数
基本概念: 异步操作的方式: 1)callback:符合一定条件时,可以执行该段程序,是横向发展,所以可能造成callback hell(回调地狱); 2)Promise:根据Promise实例状态,从而决定下一步的操作, 是纵向发展的,但会出现代码冗余,语义不清晰; 3)generator:利用同步化语句处理异步操作,特点:                              
浅谈async、await关键字 => 深谈async、await关键字
async 和 await 出现在C# 5.0之后,给并行编程带来了不少的方便,特别是当在MVC中的Action也变成async之后,有点开始什么都是async的味道了。但是这也给我们编程埋下了一些隐患,有时候可能会产生一些我们自己都不知道怎么产生的Bug,特别是如果连线程基础没有理解的情况下,更不知道如何去处理了。那今天我们就来好好看看这两兄弟和他们的叔叔(Task)爷爷(Thread)们到底有
ES7 中使用 async/await 解决回调函数嵌套问题
JavaScript 中最蛋疼的事情莫过于回调函数嵌套问题。以往在浏览器中,因为与服务器通讯是一种比较昂贵的操作,因此比较复杂的业务逻辑往往都放在服务器端,前端 JavaScript 只需要少数几次 AJAX 请求就可拿到全部数据。但是到了 webapp 风行的时代,前端业务逻辑越来越复杂,往往几个 AJAX 请求之间互有依赖,有些请求依赖前面请求的数据,有些请求需要并行进行。还有在类似 node.
async 将异步解套,并传递参数给下一个函数
首先npm async。 var async = require("async");           反思:                这个实现了一个功能:                     var something;//预先定义用于存储                     async.waterfall([            
第十六节,异步操作和Async函数
异步操作和Async函数 基本概念 Generator函数 Thunk函数 co模块 async函数 异步遍历器 异步编程对JavaScript语言太重要。Javascript语言的执行环境是“单线程”的,如果没有异步编程,根本没法用,非卡死不可。 ES6诞生以前,异步编程的方法,大概有下面四种。 回调函数事件监听发布/订阅Promise 对象 ES6将
Task类使用总结
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://cnn237111.blog.51cto.com/2359144/1102476 由于Framework 4.0和Framework 4.5对Task类稍微有些不同,此处声明以下代码都是基于Framework 4.5 Task类和Task类,后者是前者的泛型版本
c# - async 异步 方法 怎么 调用
using System; using System.Net.Http; using System.Threading; namespace AsyncTest2 { class Program { static void Main(string[] args) { Console.WriteLine("Start down
【C#】51. Await 处理并行任务(WhenAll)以及Task.Delay()
这篇文章主要说明两个问题:1、await如何替代ContinueWith来处理WhenAll之类的并行多任务;2、Task.Delay()的原理。 async static Task GetInfoAsync(string name, int seconds) { await Task.Delay(TimeSpan.FromSeconds(seconds)); //await Task.Run(
.net中async/await异步编程
C#5.0中引入了构建异步方法的新特性---async/await。本文根据自己的理解讲述异步方法三种返回方式和取消异步操作的示例。在此之前先说说异步方法的语法特点:方法名称一般是Async 结尾。可以包含一个或者多个await表达式。异步方法的参数不能使用ref和out参数。方法头包含async关键字,并且在返回类型之前。除了方法之外, Lambda 表达式和匿名函数也可以作为异步对象。先来看看...
es6 async函数的基本用法
async函数的基本用法 async函数返回一个 Promise 对象,可以使用then方法添加回调函数。当函数执行的时候,一旦遇到await就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。 下面是一个例子。 async function getStockPriceByName(name) { const symbol = await getStockSymbol(na
关于AsyncTask的一个小疑问:为什么任务执行有延迟?
今天测试的妹子跟我说,公司的一个项目中发现有一个问题:在某些情况下文件浏览器的文件的加载速度非常慢,等待很长时间才显示! 首先,我的第一反应是,这不是软件的文件,一定是移动设备的问题。然后我就问测试妹子:你确定你没有在后台运行一堆软件的情况下测试么? 她十分肯定的回答:没有,只运行了XXX(公司的软件)。 先说明一下,我们公司的这个项目比较老,并没有用什么RxJava、EventBu
关于U3d 使用 async await异步语法
关于U3d 使用 async await异步语法    1.1 下载 CSharp60Support 文件夹,里面包含需要的文件         官网地址:https://bitbucket.org/alexzzzz/unity-c-5.0-and-6.0-integration/src/e56c302fe239cf8818c0c02d23519f224a7
nodejs,async同步执行方法
nodejs,async同步执行方法
AsyncTask 坑 (四) 多个task是串行执行还是并行的
AsyncTask作为一个优秀的封装,很多人都在用,可是我估计很多人并不清楚多个AsyncTask对象到底是串行执行的,还是并行执行的,如果是并行的,那么最多同时执行几个异步任务呢? 源码面前无秘密,我们看一下源代码就知道了。 这里以Android-23为例。 AyncTask调用例子 AsyncTask task = new AsyncTask() {
async.js 实现js函数执行顺序
借助Async.js可以简化和组织我们的多个异步函数,非常方便。Async.js 本身使用在服务端-node.js 的,但它也可以用在浏览器端。举例举例: 依旧是 a() -> b()-> c() 的调用序列:async.series([function(callback){ a(callback);}, function(callback){ b(callback);},
在同一个类中调用其他有注解(如@Async,@Transactianal)的方法,注解失效问题
目录目录 For example 原因 解决办法在同一个类中,一个方法调用同类中的其他有注解的方法注解是不会生效的 For example:比如,下面代码例子中,有两方法,一个有@Transational注解,一个没有。如果调用了有注解的addPerson()方法,会启动一个Transaction;如果调用updatePersonByPhoneNo(),因为它内部调用了有注解的addPerson()
C++ async 函数的使用
future表示一个类型为T的future值,这个值可以通过future的get()函数来获取。get()函数是同步的,从子线程获取时阻塞当前线程,直到返回。 packaged_task,不过不能接受bind() 返回值。package_task 于是,可以将packaged_task传出在执行的结果。 #include #include #include #include
c#异步学习笔记 Task类,async/await
Task理解:字面意思是 “任务”,用来执行异步操作。Task的用法1:    初始化: Task tack = new Task(委托方法);  //委托方法也可以是lambda表达式或者匿名函数    异步执行委托的方法: task.start();    Task的用法2:直接调用Task封装的静态方法Run: Task.Run(委托方法);//这样在定义玩之后会开一个新线程直接执行委托的方...
node下使用async同步执行异步函数
本文主要简单介绍使用async模块实现多个函数的异步执行。async的github地址https://github.com/caolan/async。 下面主要使用async中的serise函数和parallel函数实现多个异步函数的同步执行和多个异步函数的并行执行。 主要代码如下:var async1 = require("async"); var fs = require("fs");asy
win10 uwp 异步转同步
有很多方法都是异步,那么如何从异步转到同步?
在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法
在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解是不会生效的。 比如,下面代码例子中,有两方法,一个有@Transational注解,一个没有。如果调用了有注解的addPerson()方法,会启动一个Transaction;如果调用updatePersonByPhoneNo(),因为它内部调用了有注解的addPerson(),如果你以为系统也会为它启动一个Transaction,那就错了,实际上是没有的。
std::async 实现链式调用
c#和java中都有直接提供方法实现异步执行一个任务,并在其执行完成后执行指定的任务。然而c++11却没有直接提供类似的实现。虽然用c++98的泛型和直接使用系统线程也能实现,不过要实现好还是很复杂。现在有了c++11,就可以用其中的 std::async 和 lambda方便地实现了。     在前面的任务执行完成后,可能会返回一个值,也可能不会返回值,后续的任务虽然大部分情况都需要使用到返回
C# 异步调用之async及await关键字
C#中的异步调用k
关于jquery中$.Ajax()async和success在异步处理
转自 http://blog.csdn.net/gaoyusi4964238/article/details/4378987 这里首先引用$.Ajax()中 async 和success的官方的解释: async Boolean Default: true By default, all requests are sent asynchronous (e
async/await - 4.处理async函数中的错误
async/await - 4.处理async函数中的错误const fetch = require('node-fetch')async function getZhihuColumn(id) { const url = `https://zhuanlan.zhihu.com/api/columns/${id}` const response = await fetch(url) if
async函数原理及使用方法
async 函数是什么?一句话,它就是 Generator 函数的语法糖,async 函数的实现原理,就是将 Generator 函数和自动执行器,包装在一个函数里。1,Generator 函数const fs = require('fs'); const readFile = function (fileName) { return new Promise(function (resolv...
BeginInvoke、ThreadPool、Task三类异步方法的区别和速度比较
速度(最快为1) 返回值 多参数 等待在时限内完成 超时后结束 ThreadPool.UnsafeQueueUserWorkItem() 1 非原生支持1 非原生支持 非原生支持3 不支持 ThreadPool.QueueUserWorkItem() 2.7 非原生支持1 非原生支持 非原生支持3
async/await - 5.正确处理多个await操作
async/await - 5.正确处理多个await操作const fetch = require('node-fetch')const sleep = (timeout = 2000) => new Promise(resolve => { setTimeout(resolve, timeout) })async function getZhihuColumn(id) { await s
用async声明一个函数,其实相当于是再声明一个线程。调用则启动了线程
private void button4_Click(object sender, EventArgs e) { WaitTest(); //这其实等于启动了一个线程,会立即返回。 Console.WriteLine("after call WaitTest"); } async void WaitT
C++ 11 线程调用类的成员函数解决办法
在C++中,_beginthreadex 创建线程是很麻烦的。要求入口函数必须是类的静态函数。 通常,可以采用thunk,或者模板来实现。 因C++ 11中引入了 std::async ,可以很好的解决这个问题了。 值得注意的是,在循环中 std::async 创建线程,我试了好多次总是失败,后来看老外的代码,采用 std::move解决了问题。 具体见实现代码。   // Con
多次调用异步任务(AsyncTask)时出现的问题
最近在做一个项目,在一个Activity中多次调用AsyncTask时出现了问题
说说C#的async和await
C# 5.0中引入了async 和 await。这两个关键字可以让你更方便的写出异步代码。 看个例子: public class MyClass { public MyClass() { DisplayValue(); //这里不会阻塞 System.Diagnostics.Debug.WriteLine("MyClass() End."); } public Task G
关于AsyncTask线程数的问题
看很多资料说,线程最多5个同时运行,多了之后,加入队列; 但,我看源代码,并不是这样的。   private static final int CPU_COUNT = Runtime.getRuntime().availableProcessors(); //手机cpu的核数   private static final int CORE_POOL_SIZE = CPU_COU
C UWP create_task异步使用心得
UWP中 C++的异步编程虽然比C#的稍稍复杂,但我认为C++的异步一眼看上去思路清晰,线程明确。 以下是我看官方文档学习后的一些经验 首先引用命名空间 using namespace concurrency; 注意这里的concurrency首字母大小写都是一样的,因为他的定义是这样的 #define concurrency Concurrency create_task
Task详解
Task类中GetEvents函数返回当前除了kAlive外的所有事件标识,同时清除fEvents中处kAlive之外的所有其他标识。 class A { private: public: A() { fEvents = 0; } typedef unsigned int EventFlags; EventFlags fEvents; enum { kAliv
自学-ES6篇-异步操作和Async函数
异步编程对JavaScript语言太重要。Javascript语言的执行环境是“单线程”的,如果没有异步编程,根本没法用,非卡死不可。 ES6诞生以前,异步编程的方法,大概有下面四种。 回调函数 事件监听 发布/订阅 Promise 对象 回调函数 ES6将JavaScript异步编程带入了一个全新的阶段,ES7的Async函数更是提出了异步编程的终极解决
AsyncTask中调用定时查询
private Handler handler = new Handler() { public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 1) { goToSearchStatus();//为一个AsyncTask } } }; private Timer tim
相关热词 c# 应用r包 c# excel格式刷 c# 监控word保存 c#中字符串排序 c# 打印方向 c# 获取根目录 c#语言文档 c#设置开机自启动 c# cpu id 主板 c# timer越来越卡