grand-central-dispatch 相关问题

Grand Central Dispatch(GCD)为并发和异步操作提供了一种简单而强大的机制,主要用于Apple操作系统(例如iOS,macOS,watchOS和tvOS),还有FreeBSD和MidnightBSD。

如何异步调用async函数而不等待结果

假设我有以下功能。 fun First() 异步 { 打印(“第一个”) } 函数第二个(){ 打印(“第二个”) } 函数主() { 任务 { 先等待() } 瑟...

回答 2 投票 0

等待swift for循环网络请求执行完毕(原生不使用任何框架)

我有一个请求任务,其中有一个与另一个请求任务的循环。我想完成循环请求任务,然后继续完成另一项。 让dispatchGroup = DispatchGro...

回答 1 投票 0

NSOperationQueue 中的屏障操作

我们如何使用 NSOperationQueue 或任何基于 NSOperationQueue 的用户定义的数据结构来实现dispatch_barrier_async的等效行为? 要求是,每当屏障运行时...

回答 5 投票 0

SwiftUI toasts 不消失

我正在使用以下方法来显示 toast 消息 DispatchQueue.main.async { Toastmessage = MyToasts(标题:“此处消息”,类型:.success) mysettings.showMytoast = true // 我的...

回答 2 投票 0

内存压力检测在 MacOS 上不起作用

我使用中央调度框架通过DISPATCH_SOURCE_TYPE_MEMORYPRESSURE来处理内存压力变化。这是我在 Objective C 中的程序: #导入 #导入<

回答 1 投票 0

Swift iOS -DispatchWorkItem 仍在运行,即使它被取消并设置为 Nil

我使用 GCD 的 DispatchWorkItem 来跟踪发送到 firebase 的数据。 我做的第一件事是声明 DispatchWorkItem 类型的 2 个类属性,然后当我准备好发送...

回答 1 投票 0

我可以提高concurrentPerform的性能吗?

我编写了一个使用 DispatchQueue.concurrentPerform(iterations:execute:) 的例程并将其用于多线程编程。 我很惊讶,当我进行无意义的迭代时,性能会更好......

回答 2 投票 0

Apple 的调度与 OpenMP 在使用 M3Pro 的 Apple MacBook Pro 上并行化 for 循环

我正在用 C 语言编写一个程序,它接受一个大小为 2N 的数组,并在索引二进制表示中的指定位置交换索引相差一位的条目。 分析代码,我

回答 1 投票 0

有没有一种方法可以停止流程,直到我从 Swift 中的 API 获得响应?

基本上,我们确实有一个 APIHelper 类,其中实现了 GET 和 POST 方法,可以从任何视图控制器调用它们,我们将在头部发送一个访问令牌以确保安全......

回答 1 投票 0

为什么带有同步的并发队列就像串行队列一样?

任何人都可以帮助我理解我创建的这段代码: 让 cq = DispatchQueue(标签:“downloadQueue”,属性:.concurrent) cq.sync { 对于我来说 0..<10 { sleep(2) print(i) ...

回答 2 投票 0

requestAccessForMediaType 不请求许可

我注意到我的应用程序不请求使用相机的权限。经过一些实验,我发现用于检查权限的代码需要很长时间才能完成。所以我

回答 2 投票 0

如何在 Swift 中执行一次且仅一次代码?

到目前为止我看到的答案(1,2,3)建议使用GCD的dispatch_once,因此: var 令牌:dispatch_once_t = 0 函数测试(){ 调度一次(&令牌){ print(“这仅打印在...

回答 6 投票 0

DispatchQueue.main.asyncAfter 相当于 Swift 中的结构化并发?

在 GCD 中我只是调用: DispatchQueue.main.asyncAfter(截止日期: .now() + someTimeInterval) { ... } 但我们开始迁移到结构化并发。 我尝试了以下代码: 扩展任务

回答 1 投票 0

iOS 异步完成块未调用

我的代码中的 GCD 有一个非常奇怪的情况,这是一个最小的可重现代码: - (void)runMyCode { __block BOOL 已完成 = NO; [自运行SomeAsyncAPI:^{ 已完成=是; }];

回答 1 投票 0

“dispatch_async”时未调用 iOS 完成块

我的代码中的 GCD 有一个非常奇怪的情况,这是一个最小的可重现代码: - (void)runMyCode { __block BOOL 已完成 = NO; [自我 doSomethingAsyncAndCompleteOnMainThread:^{

回答 1 投票 0

iOS 中不同线程上同步提交的工作项的执行

同步分派的工作项是否始终在 iOS 的主线程上独立执行(无论它们是分派到并发、串行、全局还是自定义队列)? 我检查过

回答 1 投票 0

在 Swift 中,如何在点击时发送网络请求,使得每个请求之间有几秒钟的延迟?

我创建了这个简单的示例来说明该问题。 我有 4 个按钮,分别用于点赞、收藏、举报和隐藏。用户可以随时点击任意按钮,点击任意次数。嗬...

回答 1 投票 0

UIKit 如何捕获渲染第一帧所需的时间

我正在为我们的应用程序实现遥测,我试图捕捉的事情之一是 Apple 工程师在 WWDC 2019 的优化应用程序启动视频中描述的不同时间段。我...

回答 1 投票 0

跨多个线程向 Swift 数组添加项目会导致问题(因为数组不是线程安全的) - 我该如何解决这个问题?

我想将给定的块添加到数组中,然后根据请求运行数组中包含的所有块。我有类似这样的代码: 类 MyArrayBlockClass { 私有变量blocksArray:Arra...

回答 5 投票 0

两次分派异步时未调用 iOS GCD 完成块

我的代码中的 GCD 有一个非常奇怪的情况,这是一个最小的可重现代码: - (void)runMyCode { __block BOOL 已完成 = NO; [自我 doSomethingAsyncAndCompleteOnMainThread:^{

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.