问题标签 [delayed-execution]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 比较使用 Thread.Sleep 和 Timer 来延迟执行
我有一个方法应该延迟运行指定的时间。
我应该使用
或者
我读过一些关于使用Thread.Sleep
是糟糕的设计的文章。但我真的不明白为什么。
但是对于使用 Timer,Timer 有 dispose 方法。由于执行延迟,我不知道如何处置 Timer。你有什么建议吗?
或者,如果您有延迟执行的替代代码,也很感激。
php - 延迟 PHP 脚本的执行
阻止机器人、恶意用户等执行 php 脚本过快的最佳方法是什么?如果我使用usleep()
orsleep()
函数只是在一段时间内“什么都不做”(就在所需的代码执行之前),是否可以,或者这很愚蠢并且有更好的方法?
例子:
如果我只是把,比如说,usleep(3000000)
在登录和注销代码之前,那可以吗,还是有更好、更明智的方法来实现我想要实现的目标?
编辑:根据下面的建议,然后usleep
或sleep
仅导致处理器脱离当前用户正在执行的当前脚本,还是导致它脱离整个服务?即如果一个用户+脚本调用sleep
/ usleep
,所有并发用户+脚本也会被延迟吗?
c# - c#可靠的延迟/计划执行最佳实践
我正在进行的项目需要在特定时间完成一些执行。我不确定处理这种情况的最佳方法是什么。该方法必须能够在服务器重新启动/维护后继续存在。并且方法调用必须以编程方式进行。
我正在考虑走这条路:
我可以在数据库(甚至是消息队列)中有一个名为 TaskTable 的表,它可以有 TaskID(PK)、TaskName(varchar)、TaskStatus(enum success、failed、scheduled) 和 TimeOfExecution。但我需要一个定期轮询数据库以查找任何未执行任务的 Windows 服务。我面临的问题是:我用什么作为 TaskName 来保存到数据库中?班级名称?类和方法名 ToString?以及如何将字符串转换回来并以编程方式调用方法调用(我不想有一个巨大的 switch 语句)?一个典型的任务如下所示。所以我需要能够获取任务“SendIncompleteNotification”的名称和类名将其保存到数据库中,并在检索时以编程方式调用
现在的问题是我在以编程方式保存方法/属性名称时遇到问题。
有没有更好的方法来处理这种情况?谢谢!
更新:对不起,我的头在旋转。我现在意识到我做错了什么是有另一种方法/属性来返回我的任务。我应该做的是从我的任务中继承一个新的类。在那里我可以轻松地获取类名并将字符串保存到数据库中,然后再返回并调用。
linq - 强制执行 IQueryable?
我有一个我想在 IQueryable 上执行的“没有转换为 SQL”的方法,有没有办法强制 IQueryable 执行而不必将它存储在某个中间类中?
ajax - 大型查询的延迟加载
愉快的用户体验需要页面加载速度非常快。当发生大型查询或正在使用 Web 服务时,这可能会很困难。
我同意,应该首先加载整个页面,并在任何地方加载图像,这是一项繁琐的任务。
在 ASP.NET 中,这可以使用更新面板和 1 秒触发器来完成。触发器将加载一些数据,然后更新面板将进行更新。如果您不需要触发整个 asp.net 页面生命周期事件,则此方法可能不太受欢迎。使用这种方法,分配方法将消耗更多的资源和时间。如果您只是想显示数据怎么办?
另一种方法是创建一个 .ashx httphandler,它以 html 格式返回数据的表示。页面加载后一秒计时器会响起,触发 div 面板填充从 .ashx 处理程序返回的 html。这将带来高性能,但您会丢失回发和视图状态。我想在失去 asp.net 页面生命周期时这是预期的。
如果可能的话,您将如何创建一个使用视图状态和回发的延迟任务来带来出色的性能?
c# - 如何确保我的 LINQ 查询在 DAL 中调用时执行,而不是以延迟方式执行?
我有一个 DAL,它由一堆在我的数据库上执行 LINQ 查询的方法组成。
如何确保在从数据库返回 IEnumberable 或类似内容之前,我确保 LINQ 查询执行then,而不是以某种延迟方式仅在使用结果时执行?
我知道我可以在我的方法中对我的结果调用 .ToList() 来强制它执行,但这是最好的方法吗?
iphone - iphone延迟执行代码
[我刚刚发布了一个类似的问题,但我不确定是否真的发布了。编辑:如果这是一个双重职位,请删除。]
我正在编写的应用程序在 appdelegate 的“applicationDidFinishLaunching”和 ViewController 的“viewDidLoad”中有相当多的代码。所有这些代码都在用户开始使用应用程序之前执行。同时,“default.png”显示为闪屏。这可能需要长达 10 秒,我认为这是不可接受的长。因此,当实际的 UI 已经对用户可见并且可以访问时,我希望执行一些代码。但是,我不希望用户自己需要按下刷新/继续按钮。任何人都可以建议我一种最小化启动时间的方法,并进行这种延迟执行吗?谢谢提前,Sjakelien
c# - 强制 Linq 不延迟执行
事实上,这和这篇文章是同一个问题:
如何确保我的 LINQ 查询在 DAL 中调用时执行,而不是以延迟方式执行?
但既然他没有解释他为什么想要它,这个问题似乎已经被忽略了一点。这是我的类似但更好解释的问题:
我有两种类型的少数线程(暂时忽略 UI 线程)。有一个“数据收集”线程类型和一个“计算”线程类型。数据收集线程很慢。有相当多的数据需要从各个地方进行筛选。计算线程相对较快。到目前为止的设计模型是将数据收集线程发送出去以查找数据,并在完成后将数据传递给计算。
当我在 Linq 中编码我的数据收集时,我最终将一些缓慢提升到我的计算线程中。现在有一些数据元素在计算过程中使用之前没有得到完全解决——这是一个问题。
我想强制 Linq 在给定时间完成它的工作(语句结束?方法结束?“请结束,该死的”方法调用),以便我知道我以后不会为此付费。将“.ToList()”添加到 Linq 的末尾是 1. 尴尬,并且 2. 感觉就像装箱一些即将在另一个线程中拆箱的东西。
mysql - 有没有办法从 MySQL 配置中停止 MYSQL 延迟插入?
我在我们的一台服务器上遇到了一个奇怪的问题。我看到有延迟的 mysql 插入
在很少使用的数据库上。根据我从 MySQL 手册中了解到的情况,这些插入等待其他插入以优化高度使用的数据库以批量/块编写插入。不幸的是,他们说这种方法会消耗大量内存,并且在很少使用的数据库上使用时效率极低。在这种特殊情况下,该数据库每天只有 10 到 20 次查询,这使得延迟非常大——长达一整天。其他数据库/用户也有类似的问题,加起来它们似乎会加载 MySQL 的内存使用和 CPU。
有没有办法防止延迟查询被延迟?就像让他们像常规查询一样行事?
提前致谢!
干杯,威尼斯人。
javascript - 在用户几秒钟不活动后执行 ajax 代码
我是新来的,所以请放轻松。这有点令人困惑。:)
我正在处理搜索输入,其中用户在搜索文本框中输入另一个用户的名称(或名称的一部分),然后返回与该搜索字符串匹配的用户列表。问题是当涉及数以万计的用户时它有点慢。由于这种缓慢性,当用户在搜索输入中快速输入名称时,屏幕将开始闪烁搜索每个按键的结果(在用户已经输入搜索字符串之后)。这就像一个严重延迟的反应。
例如,如果我输入名称“Wendy”,搜索字符串“W”(我输入的第一个字符)的搜索结果甚至都不会显示。然后将显示字母“W”的搜索结果,然后显示“We”等等,即使我已经输入了全名并且只想查看“Wendy”的结果。
我想要做的只是在用户在一段时间内没有输入任何内容时执行搜索(我在想两秒钟)。否则,将显示“搜索”一词。Javascript方法的代码如下。请注意,该代码目前可用于搜索用户,我只需要实现延迟执行。
我希望这一切都有意义。提前感谢任何可以提供帮助的人。