问题标签 [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.

0 投票
2 回答
8324 浏览

python - 在系统调用期间捕获/阻塞 SIGINT

我编写了一个网络爬虫,希望能够通过键盘停止。我不希望程序在我中断时死掉;它需要先将其数据刷新到磁盘。我也不想 catch KeyboardInterruptedException,因为持久数据可能处于不一致的状态。

我目前的解决方案是定义一个捕获SIGINT和设置标志的信号处理程序;主循环的每次迭代都会在处理下一个 url 之前检查这个标志。

但是,我发现如果socket.recv()在我发送中断时系统恰好正在执行,我会得到这个:

并且该过程完全退出。为什么会这样?有没有办法可以防止中断影响系统调用?

0 投票
2 回答
2428 浏览

assembly - 中断№13 (ah=48) - 不工作

我想获取我的硬盘的参数。使用此处描述的技术。

  • 这是显示软盘正常参数的代码:

    /li>
  • 这是代码,显示无效的硬盘参数(可能是我的硬盘空间很大(LBA)):

    /li>
  • 我写了这段代码:

    /li>

代码给出 cf = 1(错误)。我如何解决它?

0 投票
2 回答
743 浏览

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),存在扩展。

0 投票
14 回答
51751 浏览

embedded - 基于轮询或中断的方法

什么时候应该使用轮询方法,什么时候应该使用基于中断的方法?有没有可以同时使用的场景?

0 投票
1 回答
269 浏览

linux - CMOS_WRITE 无法工作的可能原因是什么?

几天来,我一直对 RTC 问题感到困惑:我无法写入 RTC 寄存器。

以下是代码片段,我从 reg(最后一行)读取的值总是与我刚刚写入 reg 的值不同。任何人都可以帮助我理解这一点吗?

我使用的是 linux 2.6 内核,我尝试的平台是 PPC 和 x86。

更新: 每个 Amardeep 的评论有更多的代码片段......

0 投票
2 回答
1081 浏览

linux - 多核处理器中基于轮询和中断的数据包处理方法

此查询与多核处理器中的数据包处理有关。数据包处理可以在 Linux 或纯数据路径中进行。如果数据包处理应用程序是在 Linux 上,那么它是否必须是基于中断的数据包处理以获得高性能,但如果数据包处理是在纯数据路径(没有 linux)中,那么应该使用轮询来获得更高的性能?如果是,为什么/如何?

0 投票
2 回答
387 浏览

windows - 哪些硬件中断实际上是中断?

可能重复:
多核/多 CPU 机器中的中断如何工作?

硬件中断会中断什么?一个特定的 CPU 核心执行或系统中的所有 CPU?

CPU 是 i7 或 Xeon X3450

0 投票
3 回答
243 浏览

embedded - 处理许多中断源

考虑到各种传感器有 100 多种中断方式。也有可能所有事情都同时发生。如何设计软件以有效地处理它?

0 投票
10 回答
211520 浏览

x86 - 陷阱和中断有什么区别?

陷阱和中断有什么区别?

如果不同系统的术语不同,那么它们在 x86 上的含义是什么?

0 投票
2 回答
352 浏览

java - 如何编写可中断的方法

我有一个方法,从概念上讲,它看起来像:

过程本身也可能是复合的:

依此类推,不同的进程可能位于不同的模块中。大多数进程都很长,因为它们计算量大,不受 IO 限制。

到目前为止一切顺利,但现在我希望f作为一个整体可以被打断。推荐的 Java 方法是定期检查中断标志Thread.interrupted()。这非常简单,但是如果我需要将方法更改为以下内容,它很快就会变得很麻烦:

现在,我确实理解了这样工作的理由——它让我能够更好地控制何时抛出 InterruptedException(例如),避免让对象处于不一致的状态——但我很想知道是否有更优雅的方式来做那*

* 在 Java 中,而不是 AspectJ,我想这在这里非常合适,但我坚持使用 Java。