首页 > 科技 > > 正文
2025-03-10 09:31:30

iOS GCD常用函数总结 🚀董桉远的个人空间

导读 在日常开发中,我们经常需要处理多线程和异步任务。这时,Grand Central Dispatch (GCD) 就成为了一种非常强大的工具。接下来,让我们

在日常开发中,我们经常需要处理多线程和异步任务。这时,Grand Central Dispatch (GCD) 就成为了一种非常强大的工具。接下来,让我们一起看看GCD中的一些常用函数吧!👇

1️⃣ `dispatch_queue_create`

使用这个函数可以创建一个自定义队列。我们可以为队列指定一个标签,以便于调试和管理。

```swift

let customQueue = dispatch_queue_create("com.example.customQueue", nil)

```

2️⃣ `dispatch_async`

这个函数允许我们在后台线程上执行任务。这对于执行耗时操作非常有用,因为这样不会阻塞主线程,从而保持用户界面的响应性。

```swift

dispatch_async(customQueue, {

// 执行一些耗时的操作

})

```

3️⃣ `dispatch_sync`

与`dispatch_async`类似,但是它会等待任务完成后再返回。因此,在使用这个函数时要小心,因为它可能会导致死锁。

```swift

dispatch_sync(customQueue, {

// 执行一些操作

})

```

4️⃣ `dispatch_after`

这个函数用于延迟执行某个任务。这在需要定时执行某些操作时非常有用。

```swift

let delayInSeconds = Double(NSEC_PER_SEC)

let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delayInSeconds))

dispatch_after(time, dispatch_get_main_queue(), {

// 延迟后执行的任务

})

```

5️⃣ `dispatch_group_async`

这个函数允许我们将多个异步任务分组,并且在所有任务完成后执行回调。

```swift

let group = dispatch_group_create()

dispatch_group_async(group, customQueue, {

// 任务1

})

dispatch_group_async(group, customQueue, {

// 任务2

})

dispatch_group_notify(group, dispatch_get_main_queue(), ^{

// 所有任务完成后执行的代码

});

```

希望这些基础的GCD函数能够帮助你在开发过程中更高效地处理并发问题!🌟