ThreadSafe하지 않을때 해경 방법
106
9 asked
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요
안녕하세요 앨런님 수업을 듣다가 궁금한 점이 생겨서 질문 드립니다!

Thread Safe하지 않을 때의 해결 방법이 다시 시리얼큐로 보내는 방법이라고 하셨는데 이때 Task 전체를 다 큐로 보내는 건가요?? 아니면 힙 메모리에 동시에 접근하는 그 일부의 작업만 보내는 건가요?
Answer 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)")(시리얼큐로 보내서 처리하려는 작업이 뭘까? 생각해보시면 답이 나오겠죠.)
고맙습니다. :)
수강연장부탁드려도될까요..
0
37
2
Drawing Cycle 관련 질문
0
70
1
앱 제작 시 주로 코드로 작성하시는 이유가 있을까요?
0
94
2
델리게이트 패턴 관련 질문
0
65
2
수강 기간 연장 부탁드릴 수 있을까요?
0
60
1
활용 앱 57강 질문입니다.
0
54
1
활용 앱 30강 에러 질문입니다
0
63
2
기초앱 17강 Contraints 설정 질문입니다.
0
65
2
기초 앱 4강 Type Any -> UIButton
0
65
2
34강 유용한 앱 추천에 나오는 UIKitViewer에 대해서 질문이 있습니다
0
76
1
깃에 코드는 올려도 된다고 하셨는데
0
108
1
수강기간 연장신청 드려도 될까요?
0
82
1
수강 기간 연장 부탁드려도 될까요?
0
120
2
수강 기간 연장 신청 요청드립니다.
0
131
2
playground에서 상단 실행?아이콘 회전 관련하여...
0
136
1
활용앱53강에서 질문있습니다.
0
164
2
Project 명칭 변경방법이 궁금합니다.
0
140
1
override 에 대해서 궁금한 것이 있습니다.
0
123
2
섹션8] 코드 리팩토링 문의
0
99
1
xcode 에서 ios 버전 선택 및 시뮬레이터 관련 질문
0
558
2
수강 기간 연장 부탁드려도 될까요?
0
130
2
뷰모델의 상태변화 와 didSet
0
98
1
@Sendable 키워드
0
92
1
클로저
0
103
2

