언어가 뭐냐에따라 다르지 c++이면 event queue를 만들거나 thread 안에서 sleep을 돌리는게 맞지만, c++이 아니면 실제 내부 동작이 어떤지 봐야지.
익명(210.94)2022-08-16 11:21
답글
java고 걍 단순하게 50ms마다 new thread run해서 서버에 api 요청하는 코드임
이러면 pool도 아니고 리소스 엄청 많이 먹는거 아님?
익명(221.146)2022-08-16 11:28
답글
서버응답이 2초쯤 걸린다면 thread가 40개쯤 돌겠네. 서버응답에 장애생기면 resource leak이 발생할거고. thread를 그냥 new만하고 recycling안한다면 GC도 자주돌거고. 그럼 나쁜설계가 맞지. 그런데 정말 나쁜설계맞냐? message queue나 background thread하나 만들어서 통신하는걸 잘 짰다고쳐봐. 정말 깔끔하게 구조도 간단하고 이번처럼 인계자가 딱봐도 구조가 눈에 보이게 만들수있냐? 지금 구조가 나쁜구조지만 현리소스에서 그럭저럭 잘돌아간다면 가독성면에서는 나쁘지 않지.
언어가 뭐냐에따라 다르지 c++이면 event queue를 만들거나 thread 안에서 sleep을 돌리는게 맞지만, c++이 아니면 실제 내부 동작이 어떤지 봐야지.
java고 걍 단순하게 50ms마다 new thread run해서 서버에 api 요청하는 코드임 이러면 pool도 아니고 리소스 엄청 많이 먹는거 아님?
서버응답이 2초쯤 걸린다면 thread가 40개쯤 돌겠네. 서버응답에 장애생기면 resource leak이 발생할거고. thread를 그냥 new만하고 recycling안한다면 GC도 자주돌거고. 그럼 나쁜설계가 맞지. 그런데 정말 나쁜설계맞냐? message queue나 background thread하나 만들어서 통신하는걸 잘 짰다고쳐봐. 정말 깔끔하게 구조도 간단하고 이번처럼 인계자가 딱봐도 구조가 눈에 보이게 만들수있냐? 지금 구조가 나쁜구조지만 현리소스에서 그럭저럭 잘돌아간다면 가독성면에서는 나쁘지 않지.
가독성을 위해 리소스를 희생한 그런건 아닐꺼야 개씹창난 코드에서 찾아낸 메소드거든...
저런건 보통 매크로 만들때 어거지로 만들면 저렇지 읺음? 그런게 아니고서야..
그러게