java-squid/effective-java

[아이템 81] wait 와 notify 보다는 동시성 유틸리티를 애용하라

Closed this issue · 8 comments

[아이템 81] wait 와 notify 보다는 동시성 유틸리티를 애용하라

https://www.vogella.com/tutorials/JavaConcurrency/article.html
동시성이라는 개념에 대해 알아보다가 발견했습니다.
이 챕터에서 다루고 있는 개념들에 대해 기본적으로 다시 되집어 보는데 도움이되는 문서라고 생각됩니다.

p433 동시 실행 시간을 재는 간단한 프레임 워크..

여기 예시로 작성된 프레임워크를 사용한 예시 코드는 어떤 것이 있을까요?

동시성이라는 개념에 대해 알아보다가 발견했습니다.

좋은 문서 링크 감사합니다!
동기화(synchronize) 와 동시성(concurrency) 가 전혀 다른 개념인데, 한국어로 하면 발음이 비슷해서 읽다보면 엄청 헷갈리네요.
이 파트는 발음이 비슷한 한자어 때문에, 영어 원문으로 읽는게 훨씬 읽기 쉽고 이해가 잘 되는 것 같습니다.

여기 예시로 작성된 프레임워크를 사용한 예시 코드는 어떤 것이 있을까요?

저라면 작성한 함수의 벤치 마크를 할 때 유용할 것 같습니다.
Item81 에 나온 String.intern 과 커스텀 intern 을 병렬로 실행했을 때의 차이를 보여줄 때도 편리할것 같네요.
근데 저라면 굳이 사용안하고, 편안하게 제니퍼 소프트의 모니터링 솔루션 을 도입하자고 주장할 것 같습니다.

p433 동시 실행 시간을 재는 간단한 프레임 워크..

여기 예시로 작성된 프레임워크를 사용한 예시 코드는 어떤 것이 있을까요?

책에 나온 2가지 intern 예시의 동시 실행 시간을 재보도록 예시 코드를 만들어보았는데,
미팅시간에 공개 후 커밋해서 푸시할 수 있도록 하겠습니다.

스크린샷 2021-03-01 오후 1 23 35

여기 예시로 작성된 프레임워크를 사용한 예시 코드는 어떤 것이 있을까요?

저라면 작성한 함수의 벤치 마크를 할 때 유용할 것 같습니다.
Item81 에 나온 String.intern 과 커스텀 intern 을 병렬로 실행했을 때의 차이를 보여줄 때도 편리할것 같네요.
근데 저라면 굳이 사용안하고, 편안하게 제니퍼 소프트의 모니터링 솔루션 을 도입하자고 주장할 것 같습니다.

아마 Han 이 이야기하는건 어떤 코드인지 한번 보고싶다는 뜻 같다고 저는 이해가 되네요
제 생각에 Effectvie Java 434 쪽에 나오는 코드가 해당 카운트 다운을 해주는 코드의 예시라고 생각이 됩니다.

개인적으로 이번 장에서 loop 안에서 wait() 을 호출하라는게 모르고 있던 방식이라 그런지 참신하네요.
생각해보니 조건을 만족하지 않았는데 해당 객체에 lock 을 걸고 있던 method 가 notify 로 깨우면 조건이 맞지 않는데도 깨워질 수도 있다는
생각을 처음으로 해보게 되었네요.

https://javabom.tistory.com/35
같이 읽어보면 좋은글입니다.