VB6 Timer 控件是否创建单独的线程?

2023-11-28

有VB6吗Timer控件启动时创建一个单独的处理线程?


VB6 定时器控件不是某种在后台线程上运行的忙等待循环。他们根本就没有真正“跑”。

据我所知,当您设置 Enabled = True(或更改 Interval,如果它是 0)时,控件会调用 SetTimer() 。当您设置 Enabled = False(或将 Interval 设置为 0)时,它会调用 KillTimer()。

正常的 VB6 消息循环(当然在 UI 线程上运行)通过将传入的 WM_TIMER 消息分派到关联的 Timer 事件处理程序代码来处理它们。因此,事件处理程序中的代码在 UI 线程上运行,阻止进一步的消息处理,直到退出。间隔似乎被截断为无符号 16 位值 - 由于遗留原因(16 位 VB 和 Windows)?

任何类似程序中编码的繁忙等待循环(所有代码都在 UI 线程上运行)的内容当然都会阻止消息处理,从而给人一种计时器不会“触发”的错觉。由于 WM_TIMER 是低优先级消息,因此当您绑定 UI 线程时,它们不会在消息队列中深深堆积:

WM_TIMER 消息是低优先级消息。 GetMessage 和 PeekMessage 函数仅在没有其他消息时才发布此消息 较高优先级的消息位于线程的消息队列中。

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

VB6 Timer 控件是否创建单独的线程? 的相关文章

  • 我们可以使用 x86_64 CPU 原子在 PCI Express 上生成复合原子操作吗?

    如您所知 从2 0版本开始 PCI Express支持复合原子操作 FetchAdd Swap CAS https pcisig com sites default files specification documents ECN Ato
  • 防止重入并确保某些操作获取锁的正确方法是什么?

    我正在设计一个基类 当继承该基类时 它将针对多线程环境中的上下文提供业务功能 每个实例可能都有长时间运行的初始化操作 所以我想让这些对象可重用 为此 我需要能够 为这些对象之一分配上下文以允许其完成工作 防止对象在已有上下文的情况下被分配新
  • 进度条没有进展

    我有一个正在更新 sqlserver 中的表的程序 我有一个表单 我想显示其进度 进度条正在递增 但没有显示 我需要为此使用后台工作者吗 我正在做什么的例子 public void updateTable string tableName
  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • 无锁算法真的比全锁算法性能更好吗?

    陈雷蒙德 http blogs msdn com b oldnewthing 一直在做一个huge http blogs msdn com b oldnewthing archive 2011 04 15 10154245 aspx ser
  • 在 Delphi 中编程延迟的最佳方法是什么?

    我正在开发的 Delphi 应用程序必须延迟一秒 有时甚至两秒 我想使用最佳实践来对此延迟进行编程 在阅读 stackoverflow 上有关 Delphi Sleep 方法的条目时 我发现了以下两条评论 我遵循这样的格言 如果你觉得需要使
  • ExecutorService 应该是静态的和全局的

    我想在我的应用程序中使用相同的线程池 为此 我可以使ExecutorService静态和全局 以便我可以调用ThreadUtil executorService to get ExecutorService当我需要它的时候 public c
  • C#:在特定时间启动应用程序

    我想在计算机上的特定时间启动应用程序 如何在 C 中执行此操作 只是我正在开发一个应用程序 当应用程序必须运行并执行特定任务时 用户将设置一个计时器 我听说在 Windows 中有一个工具可用于在特定时间启动应用程序 是的 Windows
  • 2 个数组/图像相乘的多线程性能 - 英特尔 IPP

    我正在使用英特尔 IPP 来进行 2 个图像 数组 的乘法 我使用的是 Intel Composer 2015 Update 6 附带的 Intel IPP 8 2 我创建了一个简单的函数来乘以太大的图像 整个项目已附后 见下文 我想看看使
  • 为并行的小型已知冻结进程创建匿名 AsyncTask 是一个好习惯吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 例如 您要做一些需要几秒钟的事情 并且不想冻结您的 UI 线程 对吗 您可以使用 AsyncTask 但您不想创建外部 或内部 类来解决小冻结问
  • 如何使用单独的线程部分重绘自定义 SurfaceView 而不会丢失以前的编辑?

    我目前在按照自定义绘图时遇到问题SurfaceView来自不在我的主 UI 上的线程 这SurfaceView占据整个屏幕 Galaxy S3 全屏 并且必须从多个来源进行更新 问题是习惯SurfaceView不会保存 UI 更新之间的更改
  • 使用多线程使用rabbitmq消息队列(Python Kombu)

    我有一个带有单个队列的 RabbitMQ 交换 我希望创建一个运行多个线程并尽快通过该队列工作的守护进程 工作 涉及与外部服务的通信 因此每个消费者内部都会发生相当多的阻塞 因此 我希望有多个线程都处理来自同一队列的消息 我可以通过在主线程
  • Java-线程与CPU的关系

    我对多线程还很陌生 我正在开发一个项目 尝试在我的 Java 程序中使用 4 个 CPU 我想做类似的事情 int numProcessors Runtime getRuntime availableProcessors ExecutorS
  • 多线程环境下如何更好的使用ExecutorService?

    我需要创建一个库 其中包含同步和异步方法 executeSynchronous 等待直到有结果 返回结果 executeAsynchronous 立即返回一个 Future 如果需要 可以在其他事情完成后进行处理 我的图书馆的核心逻辑 客户
  • 可升级读锁的优点?

    我想知道使用可升级读锁与执行这些步骤相比有什么优势 获取读锁 检查条件以查看是否需要进行写锁定 释放读锁 采取写锁定 执行更新 释放写锁 与获取可升级读锁相比 执行上述步骤的一个明显缺点是 步骤 3 和步骤 4 之间存在一个时间窗口 其中另
  • 线程安全的 C++ 堆栈

    我是 C 新手 正在编写一个多线程应用程序 不同的编写者将对象推入堆栈 读者将它们从堆栈中拉出 或至少将指针推入对象 C 中是否有任何内置结构可以在不添加锁定代码等的情况下处理此问题 如果没有 那么 Boost 库呢 EDIT 你好 感谢您
  • VB6/VBA 中对象清除/数组释放真的有必要吗(优点/缺点?)[重复]

    这个问题在这里已经有答案了 我从使用静态代码分析 特别是 Aivosto 的项目分析器 中学到了很多关于 VB 的知识 它检查的一件事是您是否清除了所有对象和数组 我以前只是盲目地这样做 因为PA这么说 但现在我对 VB 释放资源的方式有了
  • 使用多线程并行化 Java 中的 for 循环

    我对java很陌生 我想使用执行器服务或使用java中的任何其他方法并行化嵌套for循环 我想创建一些固定数量的线程 这样CPU就不会完全被线程占用 for SellerNames sellerNames sellerDataList fo
  • C++,如何在进程或线程之间共享数据

    我有一个运行两个不同操作的程序 我想在它们之间共享变量 目前 我正在使用线程而不是 fork 进程 但即使我将它们声明为易失性 我在共享变量时也遇到问题 我尝试使用 boost 做 boost thread collisions threa
  • Android 中的处理程序与异步调用

    目前我正在使用处理程序来调用 Web 服务方法以使其在后台运行 问题是它需要更多的时间来给出响应 在性能方面似乎更昂贵 现在我计划使用异步调用 哪一个是最好的 Android 中的处理程序和异步调用有什么区别 请帮我想出一个最好的解决方案

随机推荐

  • 我可以将层归一化与 CNN 结合使用吗?

    我发现层归一化是比批量归一化更现代的归一化方法 并且在 Tensorflow 中编码非常简单 但我认为层归一化是为 RNN 设计的 批量归一化是为 CNN 设计的 我可以使用 CNN 的层归一化来处理图像分类任务吗 选择批量归一化或层的标准
  • 从列表中删除项目[重复]

    这个问题在这里已经有答案了 在循环列表时 我想根据条件删除列表中的项目 请参阅下面的代码 这给了我一个ConcurrentModification例外 for Object a list if a getXXX equalsIgnoreCa
  • 将 IConfigurationRoot 部分的更改保存到 .net Core 2.2 中的 *.json 文件

    我正在挖掘寻找解决方案 但没有找到它 我敢打赌有人遇到过这个问题 那么问题是什么 为了测试 我创建了简单的控制台应用程序 解决方案将在 asp net core web api 中使用 我有 TestSetting json 配置文件 设置
  • 为什么模板参数不推导只作为返回类型?

    如果我不在函数参数列表中使用模板参数 类型 gt 仅作为返回类型 则不会有任何推论 template
  • 多地图空间问题:Guava

    在我的 Java 代码中 我使用 Guava 的 Multimap com google common collect Multimap 通过使用这个 Multimap
  • 散列密码的最佳方法是什么?在 PHP 7 中,password_hash 是否足够安全或者是否有更安全的方法?

    散列密码的最佳方法是什么 我知道一种方法可以很好地完成工作 但我想知道是否有更好的方法在 PHP 7 中对密码进行哈希处理password hash password hash 足够好吗 我想知道在 PHP 7 中是否有比 password
  • SpringTemplate 没有找到适合响应类型的 HttpMessageConverter

    我在使用 Spring Rest 模板时收到以下错误 但我已经为 json 响应定义了 jackson 当我使用其余客户端查询 url 时 我得到了很好的响应 org springframework web client RestClien
  • Python Tornado渲染静态目录

    我正在尝试使用 Python 中的 Tornado API 从静态目录提供页面 这个答案与我想做的类似 但我似乎无法让它发挥作用 我的目录结构如下所示 所有静态文件都位于名为的文件夹内web 我有一个像这样的网络服务器设置 class Ap
  • 录制音频并以 Wav 或 MP3 形式上传到服务器

    我不确定我问的地方是否正确 但基本上我正在寻找有关最佳方法的建议 通过网站上的麦克风录制音频并将音频以 Wav 或 MP3 文件上传到服务器 有没有人对闪光灯有丰富的经验 这会很难做到吗 目前市场上有什么可以做到这一点吗 我正在考虑将其实现
  • 如何为“日期”创建索引?

    如何为 日期 创建索引 CentOS7 MongoDB服务器版本 3 4 2 db animals createIndex date ok 0 errmsg The field key must be an object but got s
  • web组件shadow dom中的rem

    我们知道我们可以设置font size on html as the rem基于普通 DOM 节点 我使用这个技巧使我的应用程序的字体更加灵活 可以通过 js 动态更改 然而 当我创建一个Web组件时 我发现rem即使我尝试添加样式 影子
  • GWT-RPC 与 HTTP 调用 - 哪个更好?

    我正在评估使用 GWT RPC 进行的调用和HTTP调用 我的 appln 服务作为 Java servlet 托管 我当前使用 HTTPProxy 连接从它们获取数据 我希望将它们转换为 GWT RPC 调用 如果这能带来性能改进 我想知
  • 云端点收集参数

    我正在使用 Google App Engine Cloud Endpoints 并且正在尝试接收集合参数 不确定我是否能做到这一点 我知道我可以返回列表或任何集合 This public List
  • 选择悬停项目之前的所有项目

    我有一个带有 5 个内联星的容器 我需要的是当你将鼠标悬停在一颗星星上时 该星星和它之前的所有星星都会获得不同的背景 我使用的是精灵 所以我改变了背景位置 Markup div class wpr span class star span
  • Gson:直接将String转换为JsonObject(无POJO)

    似乎无法弄清楚这一点 我正在尝试在 GSON 中进行 JSON 树操作 但在转换为之前 我不知道或没有 POJO 来将字符串转换为JsonObject 有没有办法直接从String to JsonObject 我尝试过以下 Scala 语法
  • Android 从资源中获取颜色列表

    我有一个颜色列表
  • 是否可以修改 beforeSend 回调中的 XMLHttpRequest 数据?

    是否可以通过修改 beforeSend 回调中的 XMLHttpRequest 对象来修改 Ajax 请求中发送的数据 如果是的话我该怎么做 是的 你可以修改它 签名beforeSend is actually 在 jQuery 1 4 中
  • catch事务连接后的SqlTransaction为null

    我有一个循环 我用不同的参数值调用存储过程 下次通话cmd ExecuteNonQuery 我使用事务来保存全部或回滚 并使用 checkBox2 始终保存 我发现一个问题 但找不到解决方案 在第一个问题之后 当 catch 块被触发时 事
  • CSS 过渡和 jQuery 淡入淡出之间的冲突

    我正在尝试创建一个带有小菜单的瓷砖墙display none一些基于其类别的元素 在我的 CSS 中 我有 CSS 转换 这会导致fadeIn and fadeOut不工作 如果我添加一个时间 该元素将需要那么长时间才能消失 但实际上并没有
  • VB6 Timer 控件是否创建单独的线程?

    有VB6吗Timer控件启动时创建一个单独的处理线程 VB6 定时器控件不是某种在后台线程上运行的忙等待循环 他们根本就没有真正 跑 据我所知 当您设置 Enabled True 或更改 Interval 如果它是 0 时 控件会调用 Se