![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/IWevo/btsp8YP7c9h/aWp3W66DUmPtJas6oxikZ0/img.png)
조건 변수는 메시지를 통한 스레드 동기화에 사용된다. 이때 condition_variable 헤더가 필요하다. 한 스레드가 메시지 발신자 역활을 하면 다른 스레드는 수신자가 된다. 수신자는 발신자가 보낸 알림을 기다리게 된다. 조건 변수의 전형적인 쓰임새는 발신자->수신자 또는 생산자>소비자 작업 흐름이다. 조건 변수는 메시지 발신자뿐만 아니라 수진자도 될 수 있다. cv.notify_one() : 대기하고 있는 스레드에게 알림을 보낸다. cv.notify_all() : 대기하고 있는 스레드 전체에게 알림을 보낸다. cv.wait(lock, ...) : std::unique_lock 을 받고 알림을 기다린다. cv.wait_for(lock, relTime, ...) : std::unique_lock 을 ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bnpmV3/btsoDJ0TTQq/5TOnK3nsj9sVEQwytCKJI1/img.png)
파이선 홈페이지 - https://www.python.org 1. 파이썬 홈페이지에서 위 그림과 같이 Downloads 메뉴 클릭 2. 위 그림에서 Windows 메뉴 클릭 3. 위 그림에서 최종버전인 Python 3.11.4 를 클릭하면 다운로드받아 실행한다. 4. 위 그림과 같이 설치창에서 Add pythun.exe PATH 를 체크 해줘야 어느 폴더에서 python.exe 를 실행할 수 있다. 5. 위 그림에서 Install Now 를 클릭하여 설치한다. 6. 위 그림에서 Close 버튼을 클릭하여 설치는 끝난다. 7. 위 그림과 같이 python 검색하면 위에 Python 3.11 (64bit) 가 찾아 지면 앱을 실행한다. 8. 위 그림 처럼 파이썬 인터프리터 모드로 실행된다. 9. 윈도우 검색..
클라이언트가 연결하는 소켓수와 이벤트 수가 같아야 한다. (1:1) 서버가 실행되면 스레드 만들어 클라이언트 연결(FD_ACCEPT)될때 까지 대기한다. 클라이언트가 연결되면 수신(FD_READ) 과 연결 끊김(FD_CLOSE) 를 감시하기 위한 이베트를 등록하고 대기힌다. 결국, 대기하면서 클라이언트의 연결, 수신, 끊김 이벤트 발생할때까지 대기한다. 이벤트 발생하면 이벤트 종류를 구분해서 처리한다. 서버와 클라이언트 실행화면은 WSAASyncSelect 와 같다, 클라이언트는 WSAASyncSelect 에서 사용한 클라이언트를 사용하면 된다. 클라이언트의 유니코드, 멀티바이트 상관없이 된다. https://petra.tistory.com/1778 유니코드 문자집합 멀티바이트 문자집합