python 执行超时装饰器

news/2024/11/29 7:49:14/

代码:

import signalclass TimeoutError(Exception):passdef timeout(seconds=10, error_message='Timeout'):def decorator(func):def wrapper(*args, **kwargs):def _handle_timeout(signum, frame):raise TimeoutError(error_message)signal.signal(signal.SIGALRM, _handle_timeout)signal.alarm(seconds)try:result = func(*args, **kwargs)finally:signal.alarm(0)return resultreturn wrapperreturn decorator

Python 信号处理程序总是会在主 Python 主解释器的主线程中执行,即使信号是在另一个线程中接收的。

参数说明:image
只能在linux系统运行。

参考文档:https://docs.python.org/zh-cn/3/library/signal.html


http://www.ppmy.cn/news/841654.html

相关文章

【字符串左旋】

题目描述: 实现一个函数,可以左旋字符串中的k个字符。 例如: ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 问题解决: 假设字符串为"abcdef",要注意其实为"abcdef\0",我们可以…

LintCode 423. 有效的括号序列 JavaScript算法

描述 给定一个字符串所表示的括号序列,包含以下字符: ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ and ‘]’, 判定是否是有效的括号序列。 括号必须依照 “()” 顺序表示, “()[]{}” 是有效的括号,但 “([)]” 则是无效的括…

leetcode每日一题-423:从英文中重建数字

leetcode每日一题-423:从英文中重建数字 链接 从英文中重建数字 题目 分析 首先我们先分析每个字母的组成,然后发现一些字符只在一个单词中出现,我们先去统计一下这些单词个数。 z,w,u,x,g都只出现在一个数字中,也就是0,2,4,6,8&#xff0…

《Bug 系列》Server returned HTTP response code: 423 for URL

前言 这个异常在网上的资料非常少,说明一般情况下,不会出现这个异常,都由操作系统、网络协议栈封装好了,开发者对此无感知。 现在出现了这个异常,一个非常可能的原因:开发者自己在其中做了某些处理。 异…

423D

题意:给出n个点,其中k个点只能有一条边相连,剩下的边至少有2条边相连,问构造出的树最远的两个点最近是多少 解答:度为1的点的数目越多,这个距离就越小。那么构造一个中心点,发散地连k个点。不够…

LeetCode 423. 从英文中重建数字

题目链接: 力扣https://leetcode-cn.com/problems/reconstruct-original-digits-from-english/ class Solution:def originalDigits(self, s: str) -> str:from collections import Counterc Counter(s)cnt [0] * 10cnt[0] c["z"]cnt[2] c["…

leetcode 423. Reconstruct Original Digits from English | 423. 从英文中重建数字(Java)

题目 https://leetcode.com/problems/reconstruct-original-digits-from-english/ 题解 class Solution {public String originalDigits(String s) {int[] total new int[26];for (int i 0; i < s.length(); i) {total[s.charAt(i) - a];}int[] num new int[10];// 0:…

423C

题意&#xff1a;告诉你一些字符串的信息&#xff0c;要求你重组并输出字典序最小的这个字符串&#xff0c;告诉你的信息是&#xff0c;某个子串在某几个位置出现&#xff0c;保证给的信息不冲突 解答&#xff1a;暴力&#xff01;但是&#xff01;要注意重复地位置要跳过&a…