Dlaczego wszystkie obiekty Java mają wait () i notify () i czy powoduje to spadek wydajności?
Każda JavaObject
ma metodywait()
inotify()
(i dodatkowe warianty). Nigdy z nich nie korzystałem i podejrzewam, że wielu innych nie. Dlaczego są one tak fundamentalne, że każdy obiekt musi je mieć i czy w ich posiadaniu występuje uderzenie wydajności (prawdopodobnie jakiś stan jest w nich przechowywany)?
EDYTOWAĆ podkreślić to pytanie. Jeśli mamList<Double>
z 100 000 elementów wtedy każdyDouble
ma te metody, ponieważ jest rozszerzonyObject
. Ale wydaje się mało prawdopodobne, aby wszystkie z nich wiedziały o wątkach, które zarządzająList
.
EDYTOWAĆ doskonałe i przydatne odpowiedzi. @Jon ma bardzo dobry post na blogu, który wykrystalizował moje przeczucia. Zgadzam się również całkowicie z @Bob_Cross, że powinieneś pokazać problem z wydajnością, zanim zaczniesz się tym martwić. (Również jako n-ty język języków odnoszących sukcesy, gdyby był hitem wydajności, to Sun lub ktoś by to naprawił).