작성
·
78
답변 1
0
네 미래님.
(Task라고 하시면, 혹시나 Swift Concurrency에서 말하는 작업하고 헷갈릴 수 있으니) 정확하게 용어부터 정리하고 말씀드리면.. 쉽게 말하면.. 특정 함수 호출(task)이라고 보시면 됩니다.
특정 함수의 호출을 시리얼큐로 다시 보내는 거예요. 왜냐면, 특정 함수 내부에서 데이터(메모리)에 접근할 테니까요..
그래서, 코드 예시도 안에 들어있지만.. 아래 코드에서 보시면..
for i in 1...20 {
DispatchQueue.global().async {
print("\(i)")
serialQueue.async { // 올바른 처리 ⭐️
array.append("\(i)")
}
}
}
배열에 append를 하는 함수를 시리얼큐로 보내고 있는 것을 아실 수 있습니다.
즉, 아래 부분의... 함수의 호출(작업)을 시리얼큐로 감싸서 보내는 것입니다.
array.append("\(i)")
(시리얼큐로 보내서 처리하려는 작업이 뭘까? 생각해보시면 답이 나오겠죠.)
고맙습니다. :)