의문점 공부하기/🧾공부하며

🧾 스레드를 재사용해야 하는 이유

아리빠 2023. 7. 14. 14:13

스레드가 데드가 되면 사용 못하지만 다시 사용할 수 있게 해주면 되지 않나??

 

=> 실행완료된 스레드는 가비지가 된다

가비지 컬렉터가 가비지가된 스레드 수집하여 해제 시키기 전까지는 그 스레드를 위해 할당된 메모리를 사용 할 수없다

 

스레드를 매번 만들면 결국 가비지만 계속 늘어나게 되고  => 메모리 낭비!!!!!!!!!! 

 

스레드는 실제 OS가 생성하고, 스레드는 생성하는데 시간이 걸림

스레드를 자주 생성하면 스레드 생성하는데 시간을 많이 소요하게됨!!!

 

sleep()을 이용한 스레드 재활용 방식은
일정 시간이 지난 후 스레드가 작업하게 만드는 방식
스레드가 잠든 사이에 작업할 내용을 설정해두면, 스레드가 깨어났을 때 변경 사항에 따라 작업을 수행한다.
이 방식으로 한 개의 스레드를 재활용하여 작업을 처리할 수 있지만,
 문제점 => 스레드가 깨어날 때까지 작업이 바로 실행되지 않는다, 작업을 시키고 싶지 않아도 깨어나면 무조건 작업에 들어간다