묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결운영체제 공룡책 강의
피터슨 알고리즘쪽질문드립니다 .
강의 너무너무 잘 듣고있습니다 감사합니다 저 강의를 듣다가 코드를 보는데 while문에서 조건이있고 {}가 없는데 따로 실행은 없는건가요 무조건 일단 깃발교체만 하고 sum++로 가는건가요 >? =============================================cpp 에서는 thread가 있길래 이렇게 구현했습니다 #include <iostream> #include <thread> #define true 1 #define false 0 using namespace std; int sum; bool flag[2]; int turn; void producer() { int k; for (int i = 0; i < 10000; i++) { //0번이 producer, 1번이 consumer라고 생각 /*endtry section*/ flag[0] = true; turn = 1; while (turn == 1 && flag[1]) ; sum++; /*exit section*/ flag[0] = false; } } void consumer() { int k; for (int i = 0; i < 10000; i++) { //0번이 producer, 1번이 consumer라고 생각 flag[1] = true; turn = 0; while (turn == 1 && flag[1]) ; sum--; /*exit section*/ flag[1] = false; } } int main() { sum = 0; thread t1, t2; t1 = thread(consumer); t2 = thread(producer); cout << "sum : " << sum << endl; t1.join(); t2.join(); return 0; }
-
미해결운영체제 공룡책 강의
안녕하세요! Ex 4.17 질문입니다.
안녕하세요 교수님! 강의 너무 잘 듣고 있습니다. Ex 4.17(14분 쯤)에서 질문이 있습니다. 강의 상 P1(자식1), P3(자식1의 자식 - 자식2)는 if 안에서 각각 unique 쓰레드를 생성해서 총 2개의 쓰레드가 생성되는 것까지는 이해가 됩니다. 마지막 fork를 통해 P1(자식1)과 P3(자식2)가 복제가 되는데, 이 과정에서 if내에서 추가된 쓰레드들은 복제가 되지 않나요? fork는 오로지 프로세스만 복제를 하게 되는건지 문의드립니다!
-
미해결운영체제 공룡책 강의
vsCode와 wsl 연동 시 에러 발생
vscode에서 원격 창 오픈 시 wsl 연결 실패로 에러가 납니다. 제 랩탑에 docker도 있어서 docker까지 running으로 바꿨는데 해결이 안됩니다. 에러문구는 VS Code Server for WSL closed unexpectedly. Check WSL terminal for more details. 인데 vscode 터미널창의 에러를 더 적자면, Unable to detect if server is already installed: Error: Coimmand failed: C:\WINDOWS\System32\wsl.exe -d docker-desktop-data -e sh -c "[ -d ~/.vscode-server/bin/3c4e3df9e89829dce27b7b5c24508306b151f30d ] && prinf found || ([ -f /etc/alpine-release ] && printf alpine-; uname -m)" 가 제일 먼저 뜨는 빨간 글씨입니다....