gpt4 book ai didi

multithreading - 检测低用户事件并在后台检查电子邮件

转载 作者:行者123 更新时间:2023-12-03 15:08:39 24 4
gpt4 key购买 nike

我正在编写一个应用程序,它必须在后台执行一些操作:检查电子邮件并解析它们以将一些数据注入(inject)数据库,并连接到 Web 服务以检查某些异步操作的状态。

现在,我的解决方案是一个简单的计时器,它按照预定义的时间表执行这些操作:每五分钟发送一次电子邮件,每分钟检查一次 Web 服务(但这些仅在存在待处理事件时才会执行,因此大多数情况下这什么都不做。)

现在我没有为此使用线程(我还处于开发阶段的早期。)但我的计划是创建一个后台线程并让它离线完成工作。

几个问题:

  1. 我计划控制计时器中的所有内容。设置一个全局变量(基本的“锁定”)启动线程。如果“锁定”已设置,请忽略它。线程在终止时将其清除。我应该为我的线程使用更强大的锁定/队列机制吗? (我已经安装了 OmniThread)
  2. 如何运行低优先级的线程?我不希望应用程序在后台线程执行数据插入或联网时感觉缓慢。
  3. 是否有一种干净的方法来验证用户事件并仅在用户不忙于键盘/鼠标时启动此线程?

请记住,我对线程没有经验。我曾经编写过一个 FTP 同步应用程序,所以我不是一个完全的新手,但那是很久以前的事了。

最佳答案

对于问题的第 3 部分,Windows API 有一个 GetLastInputInfo函数应该返回有关用户上次执行某操作的信息。它甚至说它是“此功能对于输入空闲检测很有用”。我确实打算自己用它来做点什么,但还没有机会测试它。

编辑:Delphi implementation link

关于multithreading - 检测低用户事件并在后台检查电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9686724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com