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