问题标签 [interrupt]
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.
python - 在系统调用期间捕获/阻塞 SIGINT
我编写了一个网络爬虫,希望能够通过键盘停止。我不希望程序在我中断时死掉;它需要先将其数据刷新到磁盘。我也不想 catch KeyboardInterruptedException
,因为持久数据可能处于不一致的状态。
我目前的解决方案是定义一个捕获SIGINT
和设置标志的信号处理程序;主循环的每次迭代都会在处理下一个 url 之前检查这个标志。
但是,我发现如果socket.recv()
在我发送中断时系统恰好正在执行,我会得到这个:
并且该过程完全退出。为什么会这样?有没有办法可以防止中断影响系统调用?
assembly - 中断№13 (ah=48) - 不工作
我想获取我的硬盘的参数。使用此处描述的技术。
这是显示软盘正常参数的代码:
/li>这是代码,显示无效的硬盘参数(可能是我的硬盘空间很大(LBA)):
/li>我写了这段代码:
/li>
代码给出 cf = 1(错误)。我如何解决它?
assembly - 基于堆栈的int 0x13函数0x42实现的问题
我正在尝试一种新方法来处理 int 0x13(只是为了了解有关系统工作方式的更多信息):使用堆栈创建 DAP ..
假设 DL 包含磁盘号,AX 包含 PT 中可引导条目的地址,DS 更新到正确的段并正确设置堆栈,这是代码:
如您所见:我将 dap 结构压入堆栈,更新 DS:SI 以指向它,DL 已设置,然后将 AX 设置为 0x42 并调用 int 0x13
结果是 AH 中的错误 0x01 和明显的 CF 设置。没有扇区被转移。我没完没了地检查堆栈跟踪,没关系,分区表也没问题..我不知道我错过了什么......
这是磁盘地址包的堆栈跟踪部分:
我正在使用 qemu 最新版本并尝试从硬盘驱动器(0x80)读取,还尝试对具有相同结果的结构进行 4 字节对齐(CF 1 AH 0x01),存在扩展。
embedded - 基于轮询或中断的方法
什么时候应该使用轮询方法,什么时候应该使用基于中断的方法?有没有可以同时使用的场景?
linux - CMOS_WRITE 无法工作的可能原因是什么?
几天来,我一直对 RTC 问题感到困惑:我无法写入 RTC 寄存器。
以下是代码片段,我从 reg(最后一行)读取的值总是与我刚刚写入 reg 的值不同。任何人都可以帮助我理解这一点吗?
我使用的是 linux 2.6 内核,我尝试的平台是 PPC 和 x86。
更新: 每个 Amardeep 的评论有更多的代码片段......
linux - 多核处理器中基于轮询和中断的数据包处理方法
此查询与多核处理器中的数据包处理有关。数据包处理可以在 Linux 或纯数据路径中进行。如果数据包处理应用程序是在 Linux 上,那么它是否必须是基于中断的数据包处理以获得高性能,但如果数据包处理是在纯数据路径(没有 linux)中,那么应该使用轮询来获得更高的性能?如果是,为什么/如何?
embedded - 处理许多中断源
考虑到各种传感器有 100 多种中断方式。也有可能所有事情都同时发生。如何设计软件以有效地处理它?
x86 - 陷阱和中断有什么区别?
陷阱和中断有什么区别?
如果不同系统的术语不同,那么它们在 x86 上的含义是什么?
java - 如何编写可中断的方法
我有一个方法,从概念上讲,它看起来像:
过程本身也可能是复合的:
依此类推,不同的进程可能位于不同的模块中。大多数进程都很长,因为它们计算量大,不受 IO 限制。
到目前为止一切顺利,但现在我希望f
作为一个整体可以被打断。推荐的 Java 方法是定期检查中断标志Thread.interrupted()
。这非常简单,但是如果我需要将方法更改为以下内容,它很快就会变得很麻烦:
现在,我确实理解了这样工作的理由——它让我能够更好地控制何时抛出 InterruptedException(例如),避免让对象处于不一致的状态——但我很想知道是否有更优雅的方式来做那*。
* 在 Java 中,而不是 AspectJ,我想这在这里非常合适,但我坚持使用 Java。