로이터와 커넥션을 맺은 상태에서 폴링을 통해 live한지 알아보는데, fd가 0보다 큰 값이 리턴되었다. 확인해보니 폴링시, select를 통해 fd를 확인 후 FD_ISSET()을 통해 리턴값이 들어오는데..–>FD_ISSET() macro는 이름 그대로 특정 file descriptor가 fd_set에 있는지를 확인한다.return : true(1) or false(0) 클라이언트와 연결이 끊어졌을…
[월:] 2021년 12월
공유 자원에 접근하고자 하는 두개의 쓰레드 a,b가 있다고 해보자. 이때, 공유 자원은 한번에 하나의 쓰레드만 접근해야 race condition이 발생하지 않기 때문에 하나의 쓰레드가 공유자원을 사용중이라면 다른 쓰레드는 그 쓰레드가 공유 자원을 모두 사용할때까지 기다려야 한다. 이때, 기다리는 쓰레드가 공유 자원을…
Thread-safe하기 위한 동기화 리마인드를 위한 소스. ThreadSyncronizedTest.java userTaskRunnable.java main 함수에서 쓰레드를 작동시키면, runnable을 통해 쓰레드별로 withdraw(money) 호출 synchronized 미사용의 경우, newBalance = userBalance – amount; 까지 처리 후.. userBalance가 처리되지 않은 상태에서 타쓰레드로 컨텍스트 스위칭이 발생한다고 가정하자. t1 에서 100달러…