Swift Concurrency by Example 第4页
How to create and call an async function如何创建和调用异步函数-Stewed Noodles 资源

How to create and call an async function如何创建和调用异步函数

Using async functions in Swift is done in two steps: declaring the function itself as being async, then calling that function using await.在 Swift 中使用异步函数分两步完...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri8个月前
0130
How to voluntarily suspend a task  如何自愿暂停任务-Stewed Noodles 资源

How to voluntarily suspend a task 如何自愿暂停任务

If you’re executing a long-running task that has few if any suspension points, for example if you’re repeatedly iterating over an intensive loop, you can call Task.yield()&n...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri8个月前
120
What’s the performance cost of calling an async function? 调用 async 函数的性能成本是多少?-Stewed Noodles 资源

What’s the performance cost of calling an async function? 调用 async 函数的性能成本是多少?

Whenever we use await to call an async function, we mark a potential suspension point in our code – we’re acknowledging that it’s entirely possible our function w...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri8个月前
120
What’s the difference between async let, tasks, and task groups? async let、tasks 和 task groups 之间有什么区别?-Stewed Noodles 资源

What’s the difference between async let, tasks, and task groups? async let、tasks 和 task groups 之间有什么区别?

Swift’s async let, Task, and task groups all solve a similar problem: they allow us to create concurrency in our code so the system is able to run them efficiently. Beyo...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri8个月前
120
What’s the difference between Sequence, AsyncSequence, and AsyncStream? Sequence、AsyncSequence 和 AsyncStream 之间有什么区别?-Stewed Noodles 资源

What’s the difference between Sequence, AsyncSequence, and AsyncStream? Sequence、AsyncSequence 和 AsyncStream 之间有什么区别?

Swift provides several ways of receiving a potentially endless flow of data, allowing us to read values one by one, or loop over them using for, while, or similar.Swift ...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri8个月前
120
How to force concurrent tests to run on a specific actor 如何强制并发测试在特定actor上运行-Stewed Noodles 资源

How to force concurrent tests to run on a specific actor 如何强制并发测试在特定actor上运行

Swift Testing and XCTest behave differently when it comes to running tests in parallel: unless you say otherwise, Swift Testing will run both synchronous and asynchronous tests on ...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri8个月前
120
How to create and use async properties 如何创建和使用异步属性-Stewed Noodles 资源

How to create and use async properties 如何创建和使用异步属性

Just as Swift’s functions can be asynchronous, computed properties can also be asynchronous: attempting to access them must also use await or similar, and may also need&...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri8个月前
0110
How to fix the error “async call in a function that does not support concurrency” 如何修复错误 “async call in a function that does not support concurrency”-Stewed Noodles 资源

How to fix the error “async call in a function that does not support concurrency” 如何修复错误 “async call in a function that does not support concurrency”

This error occurs when you’ve tried to call an async function from a synchronous function, which is not allowed in Swift – asynchronous functions must be able to suspend the...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri8个月前
110
What are tasks and task groups? 什么是任务和任务组?-Stewed Noodles 资源

What are tasks and task groups? 什么是任务和任务组?

Using async/await in Swift allows us to write asynchronous code that is easy to read and understand, but by itself it doesn’t enable us to run anything concurrently – even w...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri8个月前
110
Is it efficient to create many tasks? 创建许多任务是否有效?-Stewed Noodles 资源

Is it efficient to create many tasks? 创建许多任务是否有效?

Previously I talked about the concept of thread explosion, which is when you create many more threads than CPU cores and the system struggles to manage them effectively. Howev...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri8个月前
110