lock()
interrupt 순간 다시 대기하고 획득 후 flag를 보존할 수 있다
not cancelled둘 다 WAITING일 수 있지만 취소 요청에 대한 계약이 다르다.
interrupt 순간 다시 대기하고 획득 후 flag를 보존할 수 있다
not cancelled획득 전에 InterruptedException으로 queue를 떠난다
cancelled핵심: interrupt를 보냈다는 사실만으로 plain lock waiter가 종료되었다고 판단하지 않는다.