问题标签 [cancellation]

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 投票
1 回答
801 浏览

c# - 可以跨 AppDomain 使用 CancellationTokens

.NET 4 引入了一些类型来很好地支持协作取消。我希望能够取消在不同 AppDomain 中运行的操作。CancellationToken类型是一个结构。如果我将它传递给另一个 AppDomain,它会正常工作吗?

0 投票
3 回答
2118 浏览

c# - 如何暂停 BackgroundWorker?或类似的东西

我正在使用 a通过在循环中BackgroundWorker调用来下载一些网站。WebClient.DownloadString我希望用户在下载内容的过程中取消选项,所以CancelAsync每当我发现它CancellationPending在循环中间时我都会打电话。

但是现在我注意到该函数DownloadString有时会冻结,所以我决定DownloadStringAsync改用(所有这些都在使用创建的另一个线程中BackgroundWorker)。而且由于我不想通过在调用后退出循环和函数来重写我的整个代码DownloadStringAsync,所以我在调用它之后立即创建了一个 while 循环,它只检查一个变量,当事件处理程序bool Stop时我变为 trueDownloadStringCompleted被调用或当用户请求取消操作时。

现在,奇怪的是它在调试版本上运行良好;但是在第一个版本中,程序在 while 循环中冻结,就像它是主线程一样。

0 投票
5 回答
536 浏览

c# - 取消长时间操作

我有一个后台工作人员正在运行以复制一个大文件(几 GB),我想知道如何在复制过程中取消该进程。我可以在复制之前检查 CancellationPending 属性,但是当复制已经在进行中时不知道该怎么做。

请指教,谢谢!

0 投票
1 回答
2372 浏览

android - Android 电子市场,订单取消原因 - 您取消了此订单

几周前,我上传了一个恰好是小部件的 App。但是从我上传它的那一刻起,我已经看到很多取消。谷歌给我的唯一原因是:

我无法理解它的头部或尾部......我应该从中理解吗?没有反馈,也没有任何评分……这里的“你”是谁?我想这不是一个编程问题,但这是在大量编程之后出现的......其他人也从谷歌得到类似的东西并且知道它的确切含义吗?

0 投票
2 回答
504 浏览

c# - C# BackgroundWorker 取消与帮助函数

通常,当我想在 C# 中取消 backgroundWorker 时,我会执行以下操作:

在一个应用程序中,有许多 backgroundWorker。像这样使用辅助函数来取消 backgroundWorkers 是否有效?

我担心的是,不是将有问题的对象传递给函数,而是制作了副本,从而违背了拥有该函数的目的。拥有该功能的主要目的是减少代码空间并使应用程序代码更具可读性/可维护性。

0 投票
4 回答
10105 浏览

java - Java 中的回声消除

我正在实现一个使用纯 Java 的 VOIP 应用程序。当用户不使用耳机时会出现回声问题(主要是在带有内置麦克风的笔记本电脑上)。

目前发生的事情

VOIP 应用程序的具体细节只是 Java 媒体框架的普通数据线。本质上,我想在将音频数据写入扬声器进行输出之前对音频数据进行一些数字信号处理。

如您所见,音频数据到达并在缓冲区中排队。这是为了迎合狡猾的连接并允许不同的数据包大小。这也意味着在将音频数据播放到扬声器线路之前,我可以访问任何花哨的 DSP 操作所需的尽可能多的音频数据。

我已经管理了一个可以工作的回声消除器,但是它需要大量交互式用户输入,我想要一个自动回声消除器。

手动回声消除器

自适应过滤器

我读过自适应滤波器是要走的路。具体来说,最小均方滤波器。但是,我被困住了。上面的大多数示例代码都是用 C 和 C++ 编写的,它们不能很好地翻译成 Java。

有人对如何在 Java 中实现它们有建议吗?任何其他想法也将不胜感激。提前致谢。

0 投票
4 回答
11039 浏览

message-queue - 如何在 RabbitMQ 中撤回消息?

我在 RabbitMQ 上有一个类似于作业队列的东西,并且在请求取消作业时,我想撤回尚未开始处理的任务(它们的消息尚未被确认),这对应于撤回这些消息来自它们被路由到的队列。

我还没有在 AMQP 或 RabbitMQ API 中找到这个功能;也许我搜索得不够好?还是我必须使用解决方法(这并不难,但仍然如此)?

0 投票
4 回答
12527 浏览

android - 使用 Android 的内置声学回声消除

有谁知道如何使用 Android 设备的内置声学回声消除?它位于硅片中的某处,用于 GSM/CDMA 免提通话。我们真的很想利用它来开发 VoIP 应用程序,而不是自己开发。

0 投票
3 回答
2540 浏览

c++ - 线程取消 (pthread) & C++

我正在用 C++ 为 Linux 编写 MT 程序,我想知道线程取消是如何执行的。

据我了解,当线程被取消时,清理函数在线程函数内部被调用,线程函数被强制退出。这意味着两件事:

  1. 当线程被取消时,它仍然调用线程函数内创建的所有 C++ 对象的析构函数。
  2. 我可以将指向在线程函数中创建的对象的指针传递给清理函数。

我是对的,下面的代码工作得很好吗?


下面的代码中还有一个问题,当线程在SECTION A 的某处被取消时,将首先调用second_thread_cleanup_function() ,对吗?

0 投票
1 回答
2498 浏览

c - 信号处理程序中的取消点?

如果程序从信号处理程序调用作为取消点的函数会发生什么?POSIX 将许多函数指定为异步信号安全点和取消点。如果信号处理程序调用了这样的函数并执行了取消操作,则结果与线程启用异步取消时会发生的情况非常相似 - 实际上更糟,因为所有取消清理处理程序,可能不是异步信号 -安全的,将从信号处理程序上下文中调用。

在这种情况下,POSIX 实际指定了什么,实现实际做了什么?我在 POSIX 中找不到任何禁止对信号处理程序中的取消点采取行动的语言,在 glibc/nptl 源代码中也找不到任何此类保护。