Java adv1 - LockSupport1

dev1·2024년 11월 29일

우선 이전에 확인해봤던, synchronized 의 단점부터 다시 한번 확인해보자.

==> 멀티스레드의 장점이 없어지게된다. ( 왜 ? ==> 특정작업구간을 하나의 스레드만 접근할수있게..)

즉, 속도에 대한 단점이 존재하는것이고

추가로, 하나의 스레드가 작업을 진행중이라면, 나머지는 전부 다 대기상태가 된다. ( 작업끝날때까지 )

이후에, 진행중이던 스레드가 작업을 마치게되면, 또 다른 스레드가 실행이 되게 될텐데 ...

어떤 스레드가 진행이 될지 예측할 수 없다. ( 누가 락을 다시 가져갈지 ... )

이러한 단점들때문에, 어떤 스레드는 계속해서 대기만하는 상태가 될 수도 있다.

단점이 아주 명확하기때문에, 꼭 필요한 부분만 사용하라고 했었다.

이러한 단점들이 너무 치명적이기때문에 다른 방식으로 보완 ...

우선 여기에서는, LockSupport 에 대해서 알아보자.

Locksupport 는 어떤 단점을 해결하게될까 ? ===> 무한대기 상태를 해결한다.

그럼이제, LockSupport 가 어떻게 무한대기 상태를 해결하는지 알아보도록 하자.

0개의 댓글