.NET 创建新的调度程序

2023-12-24

我正在尝试使用调度程序创建第二个线程,以便我可以让主调度程序(用于 UI)完全无压力,并且让 UI 不断响应。

现在,我可以为每个子线程(或 C# 中的 void)创建多个线程,但我是否有可能创建一个新线程并获取它的调度程序,然后调用它?这就是我所做的:

Private CheckLoopThread As New System.Threading.Thread(New System.Threading.ThreadStart(AddressOf CheckLoop))

CheckLoopThread.Priority = System.Threading.ThreadPriority.Lowest
CheckLoopThread.Start()
Dim Test As Windows.Threading.Dispatcher = Windows.Threading.Dispatcher.FromThread(CheckLoopThread)

然而,变量“Test”在执行后“Nothing”。这怎么可能?是创建第二个调度程序的另一种方法吗?

欢迎以任何 .NET 形式提供答案。 Visual Basic 或 C#。我正在 .NET 4.0 框架上使用 VB.NET WPF。

提前致谢。


为什么要锁?

我更喜欢:

Dispatcher myDispatcher = null;

// create a manual reset event for crossthread signalling.
var dispatcherReadyEvent = new ManualResetEvent(false);

// create a new thread.
new Thread(new ThreadStart(() =>
{
    // get the current dispatcher (if it didn't exists
    // it will be created.
    myDispatcher = Dispatcher.CurrentDispatcher;
    // set the signal that the dispatcher is created.
    dispatcherReadyEvent.Set();
    // run the dispatcher.
    Dispatcher.Run();
})).Start();

// wait until the dispatcher is created on the thread.
dispatcherReadyEvent.WaitOne();

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

.NET 创建新的调度程序 的相关文章

  • 管理调试和发布连接字符串

    在 NET SQLServer 应用程序中管理调试和发布连接字符串的好方法是什么 我有两个 SQL Server 一个是生产服务器 一个是构建 调试服务器 我需要一种在部署 ASP NET 应用程序时在这两个服务器之间进行切换的方法 目前
  • 为什么 Web Worker 性能在 30 秒后急剧下降?

    我正在尝试提高在网络工作人员中执行时脚本的性能 它旨在解析浏览器中的大型文本文件而不会崩溃 一切都运行得很好 但我注意到使用网络工作者时大文件的性能存在严重差异 于是我做了一个简单的实验 我在同一输入上运行脚本两次 第一次运行在页面的主线程
  • 父子进程之间的通信

    我正在尝试创建一个具有一个或多个子进程的 Python 3 程序 父进程生成子进程 然后继续处理自己的业务 有时我想向特定的子进程发送一条消息 由其捕获该消息并采取行动 此外 子进程在等待消息时需要处于非锁定状态 它将运行自己的循环来维护服
  • 设置表单的背景颜色

    Private Sub HScrollBar1 Scroll ByVal sender As Object ByVal e As ScrollEventArgs Handles HScrollBar1 Scroll Me BackColor
  • Android:如何使用后台线程?

    我开发了一个应用程序 它从互联网获取内容并相应地在设备的屏幕上显示它 该程序运行得很好 就是有点慢 加载并显示内容大约需要 3 4 秒 我想将获取内容并将其显示在后台线程中的所有代码放在一起 当程序执行这些功能时 我想显示一个进度对话框 你
  • 如何设置 Firefox 配置文件:Selenium RC、.Net 客户端驱动程序?

    我正在使用 Selenium RC Net 客户端驱动程序 我在 c selenium 目录中创建了一个 Firefox 配置文件 这是我的代码 Dim MySelenium As ISelenium Nothing MySelenium
  • Meteor.setTimeout 和 Meteor.methods 之间的并发

    在我的 Meteor 应用程序中实现回合制多人游戏服务器 客户端通过发布 订阅接收游戏状态 并且可以调用 Meteor 方法sendTurn将回合数据发送到服务器 他们无法直接更新游戏状态集合 var endRound function g
  • 模拟pytest中的异常终止

    我的多线程应用程序遇到了一个错误 主线程的任何异常终止 例如 未捕获的异常或某些信号 都会导致其他线程之一死锁 并阻止进程干净退出 我解决了这个问题 但我想添加一个测试来防止回归 但是 我不知道如何在 pytest 中模拟异常终止 如果我只
  • 在 VB 2010 中禁用“默认实例”

    我已经开始在 VB 2010 中做一些基本的 win 表单工作 我真的很烦恼默认实例 https stackoverflow com q 4698538 794234特征 有没有办法可以完全禁用它并像普通类一样使用这些类 向表单的构造函数添
  • 插入具有只读主键列的表

    我正在使用一个使用 sql server 数据库的应用程序 我试图在表中插入一行 如下所示 该表有一个主键 prodNum 这是自动生成的密钥 当我尝试向表中插入一行时 如下所示 在行中intResult oSglProdTableAdap
  • ThreadPool.SetMinThreads 不创建任何新线程

    我想弄清楚到底有什么影响ThreadPool SetMinThreads makes 根据官方文档 https learn microsoft com en us dotnet api system threading threadpool
  • 异步多播委托

    我最近在一个广泛使用事件的项目上做了一些工作 我需要做的事情之一是在多播委托上异步调用多个事件处理程序 我认为诀窍是对 GetInvocableList 中的每个项目调用 BeginInvoke 但似乎那里不存在 BeginInvoke 有
  • 将签名位图转换为签名字符串(很奇怪的一个)

    基本上我需要将位图图像转换为字符串 但这不是常见的 困境在于该字符串由两部分组成 1 积分 2 线路 我需要将图像转换为由 分隔的两个部分 我得到的一个例子是 221A 221A270A270A25032503200720071716171
  • MFC 中位图背景绘制的线程类型

    我有一个 MFC 文档 视图 C 图形应用程序 它将所有绘图都绘制到离屏位图 然后将其复制到 OnDraw 方法中提供的 CDC 指针 在过去的几天里 我一直在寻找将绘图组件放置在单独的工作线程中 这样它就不会停止 GUI 当我执行此操作时
  • 如何在进入新活动之前终止线程和处理程序

    大家好 在我尝试清理处理程序时 这段代码可能有点混乱 因为我一直在尝试追踪崩溃发生的位置 我有一个对话框活动 显示密码输入 进度条由线程和处理程序动画显示 似乎当我试图查看进度条是否完成并尝试终止线程时 当我尝试进入新活动时 我这样做的方式
  • SQL存储过程执行时间差异

    我在 win form 应用程序中遇到奇怪的问题 我正在调用一个存储过程 并且执行大约需要 6 秒 此存储过程接受多个参数 包括一个输出参数 从应用程序级别我使用 Dim dt1 DateTime Now cmd ExecuteNonQue
  • 使用 JSON.net 反序列化

    我对 json JSON net 等都很陌生 在这里阅读类似的问题后 我无法让我的代码工作 我的错误到底是什么 我监督了什么 出于测试目的是否可以跳过 链接 和 元 类 或者我是否必须定义每个属性 我得到以下 REST 输出 codes h
  • 如何检查主音量是否静音

    如何在 Windows 7 操作系统中检查主音量是否静音我有静音或取消静音的代码 IE Public Const APPCOMMAND VOLUME MUTE As Integer H80000 Public Const APPCOMMAN
  • 线程上下文类加载器和普通类加载器的区别

    线程的上下文类加载器和普通类加载器有什么区别 也就是说 如果Thread currentThread getContextClassLoader and getClass getClassLoader 返回不同的类加载器对象 将使用哪一个
  • 使用 Group By LINQ 语句时 VB.NET 返回 IEnumerable(Of IEnumerable(Of T))

    我正在尝试转换安西姆 凯拉德INotifyDataErrorInfo执行 http burnaftercoding com post asynchronous validation with wpf 4 5 进入VB NET 一切顺利 直到

随机推荐

  • Android Studio 两种风格,具有不同的清单文件

    我在 Android Studio 中为我的风格定义两个不同的清单文件时遇到问题 这是我当前的项目结构 The AndroidManifest xml in the free味道看起来像这样
  • Funq 在 ServiceStack 中的使用

    我怎样才能访问Container实例脱离控制器 我必须使用Container Resolve在我的课堂上 但我如何访问Container实例 是单例吗 我可以用吗new Container 或者有没有类似的链条Funq StaticCont
  • 如何将不在 highcharts 中 x 轴和 y 轴上的值传递给工具提示

    我需要在工具提示上显示其他值 名称 计数和另一个值 android 我在一个Example https stackoverflow com questions 11294326 highcharts pass multiple values
  • 如何在golang和mongodb中通过id查找

    我需要使用 ObjectIdHex 获取值并进行更新并查看结果 我正在使用 mongodb 和 golang 但是以下代码无法按预期工作 package main import fmt gopkg in mgo v2 gopkg in mg
  • R - 使用 dplyr 根据每列的分位数过滤每列

    给定一个数据框 我想使用每列的分位数来过滤每列 我更喜欢使用 dplyr tidyverse 来完成此任务 set seed 23 df lt data frame x1 runif 10 0 100 x2 runif 10 0 100 x
  • UIViewController:extendLayoutInincludesOpaqueBars 和滚动视图偏移

    我的应用程序的视图层次结构非常简单 UINavigationController包含一个UITableViewController 导航控制器的导航栏是不透明的 这会导致导航转换期间表视图出现一些奇怪的插入行为 如下所示 为了解决这个问题
  • Db2 从 jdbc 合并动态值

    我想使用 db2 merge 语句将其作为来自 jdbc 的语句提交 我处于以下场景 我正在使用专有的持久层 并且正在处理一个实体 我不知道它是否已经持久存在 并且我想使用合并语句来插入或更新数据库上的行 是否可以 假设我正在处理桌子peo
  • PHP 本周的工作日,为什么 date() 和 strtotime 取下周?

    我使用以下代码来获取工作日的 Y m d 格式 monday date Y m d strtotime Monday tuesday date Y m d strtotime Tuesday wednesday date Y m d str
  • 如何编写基于类的 Django 验证器?

    我正在使用 Django 1 8 The 有关编写验证器的文档 https docs djangoproject com en 1 8 ref validators writing validators有一个基于函数的验证器的示例 它还说明
  • Java 杀死或终止线程

    大家好 基本上 当用户按下 终止 按钮时 我需要终止或停止正在运行的线程 该线程循环遍历数组列表并在 JTextArea 上显示每个事件 要求是当用户按下 终止 按钮时 我需要终止正在运行的线程 同时向数组列表添加一个新的 终止 事件 并让
  • 如何扩展 Pydantic 对象并更改某些字段的类型?

    有两个类似的 pydantic 对象 唯一的区别是有些字段是可选的 如何只定义一个对象中的字段并扩展到另一个对象中 class ProjectCreateObject BaseModel project id str project nam
  • 如何让 JOOQ 在 IN 子句中使用数组

    我想要JOOQ生成 in 并将列表绑定为数组参数 Postgres 我的代码看起来像 where Tables TABLE FIELD in idsList 我怎样才能做到这一点 为什么默认情况下不这样做 因为它比字符串的生成 和由 PG
  • 如何向 PHP 添加证书颁发机构,以便 file() 函数信任其签名的证书?

    我需要打开由私人公司的证书颁发机构签名的远程资源 目前 PHP 不会打开资源 因为它不信任证书签名者 我知道您可以使用流上下文对象执行证书 但我正在寻找一种方法来为 PHP 提供新证书颁发机构的公钥并拥有file 和类似的方法信任由该机构签
  • 如何从完整字符串 iOS swift 中找到字符串的多个 NSRange

    let fullString Hello world there are string 07 continents and string 195 countries let range NSMakeRange 24 2 NSMakeRang
  • Android NDK 的 Netlink 实现

    我有一个类似任务的要求 如中提到的这个链接 https kristrev github io 2013 07 26 passive monitoring of sockets on linux Android 中套接字的被动监控 一种方法是
  • Android Kotlin - 如何扩展 ConstraintLayout?

    我希望我的 ConstaintLayout 带有额外的附加属性 但我在扩展它时遇到了麻烦 更准确地说 我无法将正确的构造函数放入 class myCL ConstraintLayout 为了确保您的行为不会出现任何怪癖 您应该像这样实现它
  • “size”和“length”方法有什么区别

    当我跑的时候size and length在字符串上 它们返回相同的值 akash size gt 5 akash length gt 5 这两种方法有什么区别 Summary 在 Ruby 中 方法可以被重写 因此有些类中的多个方法会产生
  • 十六进制或二进制数中的数字之前是否允许使用数字分隔符?

    C 14 将数字分隔符的概念引入到文字中 大致如下 3 141 592 653 589 现在这是一个great具有可读代码的功能 但我想知道它是否允许引号beforea 的数字部分0x 0b 类型文字 在我看来 这 unsigned int
  • ffmpeg 使用什么格式/协议进行“原始”输出?

    给定一个命令行ffmpeg f lavfi i sine frequency 1000 duration 5 ar 8000 c a FOO pipe 1 ffmpeg 可能会抱怨它 无法找到合适的输出格式 对于某些编解码器 ffmpeg
  • .NET 创建新的调度程序

    我正在尝试使用调度程序创建第二个线程 以便我可以让主调度程序 用于 UI 完全无压力 并且让 UI 不断响应 现在 我可以为每个子线程 或 C 中的 void 创建多个线程 但我是否有可能创建一个新线程并获取它的调度程序 然后调用它 这就是