- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Grand Central Dispatch 在后台运行一个进程。我想知道如何暂停、恢复和停止该后台线程。我试过了
dispatch_suspend(background_thread);
dispatch_resume(background_thread);
但是这些功能对我没有帮助,它一直在运行。请有人帮助我。
最佳答案
你好像有点糊涂了。线程的直接操作不是 GCD API 的一部分。您通常操作的 GCD 对象是队列,而不是线程。您将 block 放入队列中,然后 GCD 在它需要的任何线程上运行这些 block 。1
此外,the dispatch_suspend
man page是这样说的:
The dispatch framework always checks the suspension status before executing a block, but such changes never affect a block during execution (non-preemptive).
换句话说,当队列正在运行一个 block 时,GCD 不会挂起队列。它只会在队列位于 block 之间时挂起队列。
我不知道有任何公共(public) API 可以让您在不与该线程上运行的函数合作的情况下停止线程(例如,通过设置一个在该线程上定期检查的标志)。
如果可能,您应该分解长时间运行的计算,以便您可以在连续的 block 中逐步处理它。然后你可以暂停运行这些 block 的队列。
脚注 1. 主队列除外。如果您将一个 block 放在主队列上,GCD 只会在主线程上运行该 block 。
关于ios - 暂停和恢复 Grand Central Dispatch 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22652053/
由于 JCenter 将于 2021 年 5 月 1 日关闭。发布闭源库还有哪些其他选择?。我在网上搜索过,但无法获得任何可靠的最新信息。 我的公司可以通过哪些选项通过 Maven Central 提
我尝试使用gradle将一些 Artifact 上传到Maven Central(well actually to the sonatyp repository)。 我按照this nice arti
我想发布我的 OSS 库,以便在 jcenter 和 maven-central 存储库中可用。我有 2 个与此主题相关的问题: 我应该自己发布到两个存储库,还是它们之间有一些自动同步,所以只发布到其
我目前正在为我的团队开发多个项目管理应用程序,并将它们作为 JAR 分发,目前还可以。但我被要求制作一个中央应用程序来启动它们。 基本上是一个小应用程序,我已经制作的每个应用程序都有一个按钮,当您单击
我是 Java 8 java.time JSP tags 的维护者图书馆。我自己出版图书馆的经验很少。为了发布这个库,我做了一些研究并以 gradle 构建脚本 that you can check
更新:请参阅followup question 我有一个 Java 库,其构建过程完全用 Ant 编写。项目的沙箱(源目录,我在其中编辑代码)是 R:\jeffy\programming\sandb
,在Gradle仍然无法正常工作的情况下,将aar文件发布到Maven Central: 好的,让我们重复我为“使用Gradle将aar文件发布到Maven Central”(我主要遵循此guide)
随着OpenCL 2.0的引入,OpenCL似乎具有Grand Central Dispatch(GCD)的许多功能,例如CLang / Apple样式块和队列。看一下它们各自的功能集,我想知道Ope
我正在更新 javassist 库的版本,并注意到 maven 存储库站点上的最新版本 ( 3.22.0-CR1 ) 具有红色背景,但通过快速搜索,我无法找出原因。 谁能解释一下那个红色背景是什么意思
我正在使用 docker compose image 将 jbpm 与 postgresql 连接起来。 我通过更改安全域部分的登录模块,通过数据库用户完成了业务中心的身份验证。 数据库用户成功登录后
我正在寻找一些简单的异步变通方法,例如GCD,但在QT中,是否有任何这种方法或仅线程和工作器? 最佳答案 简而言之:Qt中有什么实现基于任务的并发? 该功能称为Qt Concurrent。我记得,只要
我写了一个名为LibA的aar库,它取决于我的aar库LibB和LibC。 LibB和LibC已经上传到maven中,但是我的LibA目前无法通过相同的Gradle任务进行构建,因为我必须等待大约20
我正在尝试创 build 备组,以最终使用该特定设备组创建一个作业,以向其中的所有设备发送重新启动命令。我使用 IoT Central API REST 来实现此目的,其 URL 如下所示(这就是其
在其他数据(特别是字符串)中,我从JSON中提取了一个URL,并将其保存在数组“jsonArray”中。我需要将该URL(用于与登录用户有关的图像)转换为可以在我的imageview“imagePro
我写了this project并且已经在我的其他库中使用它。 但是,我发现有些不对劲。也就是说,在该库的每个用户中,我创建一个实用程序类,其唯一作用是提供一个或多个 MessageBundle。这很糟
我作为开发人员被添加到 Maven 项目中,现在我需要发布一个版本。我已将 nexus-staging-maven-plugin 添加到 pom.xml 文件。 org.sonatype.plu
基本上,我想在运行依赖于上传图像的其他功能之前上传一些图像。我想我可能对 GCD 是什么/线程如何工作有误解。我希望功能 1 和 2 在上传图像后发生。它们执行起来都很快,但严重依赖上传图像才能完成。
我一直在看this question尝试解决我的问题 here . tl;dr 是我想使用 GCD 让我在执行某些任务时显示“等待”屏幕,然后在完成后隐藏屏幕。现在,我有 - (void) doStu
我有一个包含多个模块的项目。我大部分都使用 pom 打包,当然还有一些 jar 模块。现在,我需要在 Maven Central 上进行部署。我关注了this tutorial . 当我运行建议的 s
DIV "central"居中,ok!,好!但是:为什么内容不?请帮忙。 谢谢 Center Content html,body{background:#aa0000;color:#fae803;}
我是一名优秀的程序员,十分优秀!