소개
게시글
질문&답변
2021.11.25
Serial queue가 한개의 스레드를 사용한다는 내용에 질문이 있습니다
오호,, 저는 개인적으로 이론적으로 깊게 파고드는걸 좋아해서 오늘 말씀 주신 내용이 다 흥미롭네여 ( o̴̶̷᷅ᴗo̴̶̷᷄ ) 물론 앨런님이 처음 시리얼 큐를 설명할 때 "하나의 스레드"를 사용하는 큐가 아닌, 여러개의 스레드 객체를 사용할 수 있되 Task는 "한번에 하나씩" 처리하는 큐라고 했으면 개념이 명확히 잡히지 않았을 것 같긴 합니다. (네,,,,,,,,머라구요,,????🤔 하면서 강의를 들었겠죠,,??) 하지만 시리얼 큐에 대한 이해를 한차례 하고 나서 실제로 OS 단에서는 어떻게 돌아간다! 는 사실을 접하니 개념과 실제 동작을 알게 된 것 같아 좋네용 오늘도 감사합니다~!
- 3
- 5
- 510
질문&답변
2021.11.25
Serial queue가 한개의 스레드를 사용한다는 내용에 질문이 있습니다
상세한 답변 감사합니다. 결국 MainThread를 제외한 나머지 스레드 객체는 사용할 때만 잠깐 생성되었다가 사라짐. 즉, 시리얼 큐라도 중간에 사용하는 스레드 객체가 변경될 수 있음. 하지만 시리얼 큐는 하나의 스레드 객체를 사용하는 것처럼 설명을 하는 것이 이해에 훨씬 직관적이기 때문에 그렇게 설명해 주신것. 이 되겠네욤 답변 주신 것을 읽고, 원래 처음에 링크 주신 답변을 한번 더 읽어봤는데 이때 말씀 중 두가지 헷갈리는 부분이 있습니다. 1. 위의 링크를 붙여주신 것과 같이 실제로는 한번에 하나의 쓰레드를 사용하는 것이 맞습니다. 그게 실제로는 하드웨어적인 여러개의 쓰레드 일수도 있겠지요. -> 여기서 하드웨어적인 여러개의 쓰레드를 언급해주신 것은, “소프트웨어적인 여러개의 스레드를 쓸 수 있는 것은 당연하고, 해당 스레들이 심지어 다른 물리 스레드에 속하는 애들일 수도 있다”의 의미를 담고 있는건가요? 2. 앱을 실행할때 특정하는 메인쓰레드조차도, 어쩌면 하드웨어적으로 여러쓰레드를 사용할지도 모릅니다. 하지만, 아무도 메인쓰레드가 한번에 하나의 쓰레드를 사용하는 개념이라고 생각하지 않지요..) -> 제가 드린 질문의 답변에서는 “메인 쓰레드 객체는 실제로 객체 자체가 절대로 변하지가 않습니다. (동일한 메모리 주소를 가진 인스턴스라는 것이지요.)” 라고 말씀주셨는데, 저 글의 답변에서는 메인 스레드 객체마저 변할 수 있는 것으로 해석됩니다. 혹시 메인스레드조차 하드웨어적으로 여러 스레드를 사용할 수 있다는 의미가 어떤 뜻인지 조금 더 설명 부탁드려도 될까요?
- 3
- 5
- 510
질문&답변
2021.05.21
우선순위 뒤바뀜 질문 드립니다
안녕하세요 앨런님! (아니 도대체 인프런은 글씨 크기를 어떻게 키우는걸까요..🤔) 물리 스레드라고 설명주신 개념이 생소해서 조금 공부해봤더니, 제가 생각한건 “1 코어 = 1 물리스레드” 이라고 가정하고 질문 드린거였네요. 그래서 저는 싱글 코어에서는 여러 논리스레드가 할당될 때 무조건 멈춤 현상이 발생하고, 멀티 코어에서는 동일 코어에 여러 논리 스레드가 할당될때 멈춤 현상이 발생한다고 생각했어요. 하지만 하이퍼스레딩 개념이 등장함에 따라 하나의 코어에 여러 개의 물리 스레드가 존재할 수 있게 되었고, 따라서 우선 순위에 밀려 task 가 멈출 수 있는 상황을 ‘여러개의 논리 스레드가 동일한 코어에 몰려있는가’로 판단하는 것보다, ‘동일한 물리 스레드에 몰려있는가’로 판단하는 것이 더 정확하겠군요. 조만간 강의 내용도 업데이트 된다니 그 내용도 기대하고 있겠습니다! 감사합니다 :)
- 1
- 2
- 188
질문&답변
2021.02.02
DispatchWorkItem의 qos 관련해 질문 있습니다.
아하 네넵 우선은 제 이해력의 한계로...! 애플에서는 unspecified 로 설정 되어 있다.. 정도로만 가져가야겠네요 🤔 나중에 unspecified 일때 default를 따라가는 경우도 있다..? 정도의 비슷한 내용을 보게 되면 그때 다시 설명주신 내용 참고해보도록 하겠습니다 답변 감사합니다!! :)
- 1
- 5
- 236
질문&답변
2021.02.02
DispatchWorkItem의 qos 관련해 질문 있습니다.
뭔가 unspecified 는 공식 문서에 나와있는 설명도 그렇고.. 다른 글들을 살펴봐도 명확하지 않은거 같아요ㅜㅜ 그렇다면 앨런님이 설명주신 "qos 가 global 을 따라간다"는 의미는, (사실 global 이라는 qos 는 없기 때문에) global dispatchQueue 의 기본 qos 인 default를 따라간다는 말씀이실까요..? (쓰고 보니 뭔가 더 잘못 이해하고 있는거 같네요..? )
- 1
- 5
- 236