定时执行代码的5种实用方法及代码示例
## ⏱️ 定时执行代码的多种方法 要让代码每1秒执行一次,最常用的方法是使用定时器。以下是几种常见实现方式,根据你的开发环境选择适合的方案。 ### 🕒 使用 `setInterval`(JavaScript/Node.js) `setInterval` 是最直接的方式,它会每隔指定时间重复执行代码。 ```javascript // 每隔1秒执行一次的代码 setInterval(() => { console.log('每秒执行一次'); // 在这里放入你的代码 }, 1000); ``` 清除定时器: ```javascript const timer = setInterval(() => { console.log('每秒执行一次'); }, 1000); // 停止执行 clearInterval(timer); ``` ### 🧵 使用 `Threading.Timer`(C#/.NET) 在 .NET 中,`System.Threading.Timer` 提供轻量级的定时功能。 ```csharp using System; using System.Threading; class Program { static void Main() { Timer timer = new Timer(ExecuteTask, null, TimeSpan.Zero, TimeSpan.FromSeconds(1)); Console.WriteLine("按任意键停止..."); Console.ReadKey(); timer.Dispose(); } static void ExecuteTask(object state) { Console.WriteLine($"执行时间: {DateTime.Now}"); } } ``` ### 🐍 使用 `time.sleep` 循环(Python) 对于简单脚本,使用 `time.sleep` 配合循环即可。 ```python import time while True: # 在这里放入你的代码 print("每秒执行一次") time.sleep(1) ``` 若要实现更精确的定时,可以使用 `schedule` 库: ```python import schedule import time def job(): print("每秒执行一次") schedule.every(1).seconds.do(job) while True: schedule.run_pending() time.sleep(0.1) ``` ### ⚙️ 使用 `Timer` 类(Java) Java 的 `Timer` 类可以安排任务。 ```java import java.util.Timer; import java.util.TimerTask; public class TestTimer { public static void main(String[] args) { Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { System.out.println("每秒执行一次"); } }, 0, 1000); } } ``` ### 🔄 使用 `recursive setTimeout`(精准定时) 若担心 `setInterval` 因执行时间过长导致重叠,可用递归 `setTimeout` 保证间隔稳定。 ```javascript function repeatTask() { // 你的代码 console.log('每秒执行一次'); setTimeout(repeatTask, 1000); } setTimeout(repeatTask, 1000); ``` 选择哪种方式取决于你的语言和项目需求。对于大多数场景,`setInterval` 或 `Timer` 类即可满足要求。 ######[AI问答 | 648点数解答 | 2026-08-23 09:30:55]
- Java 实现计算机硬件模拟:从 PCI 设备到主板、计算机的启动与关闭(字节豆包 | 716点数解答 | 2024-12-08 23:38:38)448
- Java 代码:模拟计算机主板启动与关闭 PCI 设备全流程(字节豆包 | 637点数解答 | 2024-12-09 08:31:54)405
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)196
- Java 实战:Vehicle 类与 User 类实现机动车速度功率控制( | 968点数解答 | 2024-03-12 11:26:25)646
- 50 分判断题大揭秘:变量、条件、循环与数组知识正误辨析(字节豆包 | 229点数解答 | 2025-12-21 19:15:16)148
- Java 实战:动物类、接口与继承实现鸟儿吃虫和飞翔功能(字节豆包 | 183点数解答 | 2024-09-19 15:53:55)390
- Java 实战:动物类、接口与继承,实现鸟儿吃虫与飞翔功能(字节豆包 | 184点数解答 | 2024-09-19 16:45:48)397
- Java 实现 BankAccount 类:账户余额管理与测试全解析(字节豆包 | 420点数解答 | 2024-10-11 08:48:21)404
- Java 编程:实现教师与学生类的创建、继承及属性操作(字节豆包 | 745点数解答 | 2024-10-16 18:40:42)496
- Java 实现 Circle 类:全面封装圆的属性与方法(字节豆包 | 256点数解答 | 2024-10-27 16:34:37)330
- Java 实现继承关系:Fu 类、Zi 类与测试类 Example04 代码解析及注意要点(字节豆包 | 251点数解答 | 2024-12-12 09:36:45)316
- Java实现银行账户类:含账户余额操作与测试代码(DeepSeek | 711点数解答 | 2025-03-23 21:38:57)333