string 리터럴과 boxing 객체를 synchronized를 하면 안될까요?
스레드를 다룰 때 까다로운 것 중 하나는 lock이 대체 의도치 않게 어디에 걸렸지? 일 겁니다. 링크에서도 다루고 있으니, 한 번 정도는 읽어보셔도 도움이 많이 되실 듯 싶습니다. 먼저, 예제 프로그램 1을 보겠습니다. worker1과 worker2는 간단한 일을 합니다. 5초동안 sleep을 하고 끝냅니다. 그리고, 5번째 줄과 15번째 줄에, na가 가리키고 있는 객체에 lock을 겁니다. 즉, lock을 거는 대상은, Worker1의 na가 가리키는 Object, Worker2의 na가 가리키는 Object입니다. 다음에 Main 클래스는 그냥 Worker1과 Worker2를 돌리고, 끝날 때 까지 기다린 다음에, 프로그램이 끝날 때 까지 걸린 시간을 측정합니다. 이게 다입니다. 위 프로그램의 실..
OS/이론
2020. 5. 14. 00:54
최근댓글