(서사)
딜레이가 발생한 프로세스 스레드의 원인에 대해서
자바 스레드의 정지를 기준으로 두 가지 가설을 세웠습니다.
저는 두 번째 가설이 맞지 않은 상황을 찾지 못했습니다.
그래서, 이 가설이 맞다는 가정하에 해결 방법을 고민하였습니다.
이에, 스레드 상태 로직에 문제가 있다는 것을 알고,
이를 해결하기 위해 기존에 잘못된 스레드 상태 제어 로직을 제거하였습니다.
그 후에도 같은 상황이 나온다 하더라도 해결할 수 있게
문제의 근본인 Process.exec을 제거하고
어떤 IP와 연결 타입이라도 확인 가능한 코드를 구현하여 lib로 만들어 배포하였습니다.
GitHub - oiNeh/tcp
Contribute to oiNeh/tcp development by creating an account on GitHub.
github.com
코드카타에서 동시성을 연습하고
다시 접할 때는 더욱 쉽게 해결할 수 있었다고 느꼈습니다.
코드 카타 동시성으로 얻은 지식 https://oineh.tistory.com/9
프로그래밍의 1초 정지는 어떻게 다뤄야 할까
코드 카타에서 알람시계를 만들면서 1초마다 시간이 달라지는 것을 출력을 해야 하는 상황이 나왔는데 이럴 때 1초 정지는 어떻게 해줘야 좋을까 1초를 정직하게 정지한다 Thread.sleep(1000) - 이렇
oineh.tistory.com
https://github.com/oiNeh/code-kata/tree/main/alarm-clock
GitHub - oiNeh/code-kata: 코드카타
코드카타. Contribute to oiNeh/code-kata development by creating an account on GitHub.
github.com
'기타 > 기록' 카테고리의 다른 글
(군대에서 겪었던 개발 이야기3) 동시성 구현중 Process 딜레이 발생 (0) | 2023.02.12 |
---|---|
스프링 OAuth2 시작하기전 boot 버전별 변경사항 체크 (기록) (0) | 2022.05.30 |