在主线程上继续执行任务

2023-12-10

如果这是一个简单的问题,请原谅我;我无法用足够通用的方式来表达它来寻找答案。

考虑这段代码:

var task = Task.Factory.StartNew(() => Whatever());  
task.ContinueWith(Callback, TaskScheduler.FromCurrentSynchronizationContext())

回调方法到底是如何确定何时执行的呢?

它会等到主线程当前完成正在做的事情,还是会在异步调用完成后立即调用它?这个回调会在主线程返回之前执行的操作之前完全执行吗?


它会等到主线程当前完成正在做的事情,还是会在异步调用完成后立即调用它?

当异步调用完成时,继续操作将是预定的。该调度的效果取决于调度程序(当然),但对于“正常”WPF 或 Windows 窗体消息循环,我希望它的调度方式与调用类似Control.BeginInvoke or Dispatcher.BeginInvoke- 换句话说,当“主”线程完成在此线程之前安排的其余任务时。

我不希望主线程神奇地停止它正在做的事情并执行延续。它could但是,将延续任务设置为队列中的高优先级任务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在主线程上继续执行任务 的相关文章

  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • Jenkins 和 NodeJS 插件 - 权限被拒绝错误

    我已经成功地在 Raspberry Pi 上设置了一个 Jenkins 实例 并且在最终遇到这个绊脚石之前已经安装了 NodeJS 插件 Started by an SCM change Building in workspace var
  • Protobuf-net 序列化枚举值超出范围

    C 允许将任何整数值分配给 enum 当我尝试使用值超出范围的枚举字段序列化 通过 protobuf net 对象时 它会抛出异常 没有线值映射到枚举 PersonLevel 我的枚举 PersonLevel 没有 Flags 属性 Pro
  • glBufferData分配的内存什么时候释放?

    假设我为统一缓冲区分配内存 如下所示 GLuint length 0x1000 GLuint myBuffer glGenBuffers 1 myBuffer glBindBuffer GL UNIFORM BUFFER myBuffer
  • 抛出奇怪的 org. Threeten.bp.DateTimeException ?

    我的代码运行得很好 今天突然我开始遇到这个异常 org threeten bp DateTimeException Field DayOfMonth cannot be printed as the value 1872095944 max
  • PHP 转换特殊字符,如 ş 到 s、ţ 到 t、ă 到 a

    我不知道如何命名我需要的内容 我想在 PHP 中将字符转换为更 正常 的字符集 例如 to become s to become t to become a 我有罗马尼亚城镇名称 我想在 URL 中使用更多 正常 字符 我想我想将罗马尼亚字
  • 退出时删除共享内存

    我有两个脚本 一个用于创建和写入共享内存块 第二个用于读取该共享内存 问题是 当第一个脚本结束时 即使我不取消链接 共享内存也会被删除 这是我的第一个脚本 import argparse import csv import os impor
  • 模板中的读取路径[重复]

    这个问题在这里已经有答案了 有没有办法读取当前页面的路径 例如 我在 www example com foo bar 我想阅读 foo bar 我必须在模板文件中执行此操作而不修改视图 并且我有太多视图文件而无法编辑每个视图文件 Cheer
  • 在可序列化对象上获取 NotSerializedException

    基本上 我编写了一个程序 将形状绘制到屏幕上 并将每个形状保存到 ArrayList 中 我想要做的是弄清楚如何将 ArrayList 保存到文件中 以便我可以稍后调用它并编辑已经存在的形状 因此 当我已经将对象 Shape 可序列化时 我
  • 在 HTML 页面上并排显示两个图像

    我试图并排放置两个相同大小的图像 如果我使用一个table然后我就可以并排显示两个图像 但在我的 CSS 样式表中 我对表格使用了自定义格式 这也显示在包含图像的页面上 我想只显示两个图像 没有任何自定义背景 边框等 我尝试使用div sp
  • 字符串前面的 b 有何作用?

    binary b Binary string 创建一个字符串会产生什么后果binary 我在文档中找不到任何关于此的提示 刚刚在浏览 language scanner 时发现了这个小小的好奇心 这是永远不会发布的 PHP 版本 6 的前向兼
  • 是否有另一种方法在工作人员中加载额外的包(并行计算)?

    R 中并行化的一种方法是通过snowfall包裹 要将自定义函数发送给工作人员 您可以使用sfExport 参见乔里斯的帖子here 我有一个自定义函数 它依赖于非基本包中未自动加载的函数 因此 当我并行运行我的函数时 R 会崩溃 因为某些
  • 使用 iText 提取文本不起作用:编码或加密文本?

    我有一个 pdf 文件 其安全属性如下 打印 允许 文件组装 不允许 内容复制 允许 可访问性内容副本 允许 页面提取 不允许 我尝试获取带有示例代码的文本作为文档示例 如下所示 pdftext Text null StringBuilde
  • Rails 3 public_activity,销毁记录

    我正在使用公共活动如果用户创建帖子 则进行 gem 跟踪 有没有办法在删除帖子时销毁公共活动记录 以便在活动源中不会显示类似以下内容的内容 A post was deleted 而只是删除活动表中的特定活动 Thanks 我认为这就是OP正
  • 通过 CURL POST JSON 数据并抓取它

    我正在尝试传递 json 数据作为 cURL POST 的参数 然而 我坚持抓住它并将其保存在数据库上 卷曲文件 data array name gt Hagrid age gt 36 data string json encode dat
  • 在面板上绘制 Html 表格?

    如何生成常规的 html table 在 Sencha Touch 2 的面板上 每行的数据可能来自商店 它不像列表那样非常 移动 但我想在我的平板电脑应用程序上有一些详细面板 其中包含如下几个部分 header 1 table tr td
  • Codeigniter多个文件上传路径

    我正在构建一个应用程序 需要获取上传的文件并将它们放在单独的缩略图和全尺寸图像目录中 但是 config upload path uploads 只允许我选择一个上传路径 如何定义两个或多个上传路径 实际上您需要做的就是 重新初始化 上传类
  • 为什么 Laravel 或 Beanstalkd 会跳槽?

    我正在管理音频转换Laravel 队列 and 豆茎 监测者监督者 当用户上传音频文件时 它会转到AudioController php这会触发一个Queue push AudioProcess 它本身会触发exec sh some scr
  • JavaScript 从嵌套对象获取值[重复]

    这个问题在这里已经有答案了 如果这是我的目标 var obj bakery1 small name Small cookie price 0 75 large name Large cookie price 3 00 bakery2 sma
  • 使用 if 语句查找特定值

    您好 我在 Excel 中有一个很大的产品订单数据集 并且它将不断增长 数据集看起来像这样 Product Date Lsat24 Next24 Summary Buyer day1 AX1 2 1 2019 Checking invent
  • 在主线程上继续执行任务

    如果这是一个简单的问题 请原谅我 我无法用足够通用的方式来表达它来寻找答案 考虑这段代码 var task Task Factory StartNew gt Whatever task ContinueWith Callback TaskS