쓰레드의 추억

코딩을 처음 배울 때 가장 어려웠던 단어는 쓰레드였습니다.
쓰레드란 말만 나오면 가슴속이 답답했습니다.

으아, 도대체 쓰레드가 뭐냐고.

교수님들은 다들 칠판에 실을 그리며 코드가 흘러가는 흐름 같은 거라고 말해줬습니다.

‘아니, 코드가 뭘 어딜 흘러가냐고.’
도저히 이해할 수가 없었습니다.

회사에 들어가서야 깨달았습니다.
멀티 쓰레드 프로그램을 실제로 디버깅해보면서.
_beginthreadex 함수와 EnterCriticalSection 함수를 사용해서 버그를 고치는 과정에서 번쩍 깨달음이 왔던 기억이 납니다.

그때까지 저는 스택이 프로세스 당 1개 있는 건 줄로 잘못 알고 있었습니다.
쓰레드 스택이란 표현을 듣는 순간 느낌이 왔습니다.
_beginthreadex를 통해 쓰레드를 하나 생성할 때마다 스택이 함께 생성된다는 것.
그 스택 크기는 1MB라는 것을 알게 되면서 기뻤습니다.
(커널 모드로 전환될 땐 고작 12KB의 커널 스택을 사용한다는 것도 나중에 알게 됐습니다.)

아, 이제야 뭔지 알 것 같아.
지역 변수를 사용하면 멀티 쓰레드에서 문제가 없다느니, 쓰레드 로컬 스토리지가 뭐니 하는 말들이 그제야 이해가 되기 시작했습니다.

어제부터 쓰레드(SNS)를 시작했는데, 쓰레드란 단어를 계속 보다 보니 고통스러워하던 옛날 생각이 나서 주절거려 봤습니다. (웃음)
쓰레드 주소는 여기입니다. 좀 더 가벼운 생각들을 자주 적어보려고 합니다.


https://www.threads.net/@jehokim

Benjamin (@jehokim) on Threads

www.threads.net

Benjamin (@jehokim) on Threads

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 7월 22일 오전 6:54

 • 

저장 92조회 6,822

함께 읽은 게시물

이젠 Claude 모델이 그렇게 압도적으로 좋은 건 아닌데, Claude Code는 진짜 분명하게 좋음. 아마도 프롬프트가 잘 되어 있어서 그런 것 같음. Claude의 다른 프롬프트들은 공개해뒀는데 Claude Code용 프롬프트는 공개를 안해줌. 역시 아무리 투명하게 공개한다고 해도 진짜 좋은 건 다 기업비밀임..


< 모든 선택지를 검토하다 아무것도 못 하는 당신에게 >

1

... 더 보기

 • 

댓글 1 • 저장 13 • 조회 1,152


🕊️ 주니어 자바 개발자를 위한 100가지 질문 (1)

"주니어 자바 개발자를 위한 100가지 질문" 1편입니다. 주니어 자바 개발자를 위한 100가지 질문 (2) - [https://careerly.co.kr/comments/84093] 1️⃣ 기초 📌 JDK와 JRE의 차이점은 무엇입니까? 📌 ==와 equals의 차이점은 무엇입니까? 📌 두 객체가 동일한 hashCode를 가지면 Equals()가 참이어야 합니다, 그렇죠? 📌 자바에서 final의 기능은 무엇입니까? 📌 자바에서 Math.round(-1.5)는 무엇을 의미합니까? 📌 String은 기본 데이터 ... 더 보기

Top 100 Java Interview Questions for 1 to 3 Years Experienced Programmers

Medium

Top 100 Java Interview Questions for 1 to 3 Years Experienced Programmers

 • 

저장 1,416 • 조회 33,483



이 글 하나면 끝, SQL 추천 책부터 코테 노하우까지 완전 정복하기

... 더 보기

이 글 하나면 끝, SQL 입문부터 코딩테스트까지 완전 정복하기

datarian.io

이 글 하나면 끝, SQL 입문부터 코딩테스트까지 완전 정복하기

이력서 노션으로 절대 쓰지 마세요.

(다시 돌아온 노션 이력서 절기)

... 더 보기

 • 

댓글 1 • 저장 9 • 조회 2,946