Почему все объекты Java имеют функции wait () и notify (), и это приводит к снижению производительности?

Каждая ЯваObject имеет методыwait() а такжеnotify() (и дополнительные варианты). Я никогда не использовал их, и я подозреваю, что многие другие не имеютт. Почему они настолько фундаментальны, что каждый объект должен иметь их и есть ли снижение производительности при их наличии (предположительно, в них хранится некоторое состояние)?

РЕДАКТИРОВАТЬ подчеркнуть вопрос. Если у меня естьList с 100 000 элементов, то каждыйDouble имеет эти методы, поскольку он расширен отObject, Но кажется маловероятным, что все они должны знать о потоках, которые управляют.List

РЕДАКТИРОВАТЬ отличные и полезные ответы. У @Jon есть очень хорошее сообщение в блоге, которое кристаллизовало мои интуитивные чувства. Я также полностью согласен с @Bob_Cross, что вы должны показать проблему с производительностью, прежде чем беспокоиться об этом. (Также в качестве n-го закона успешных языков, если бы это было ударом по производительности, то Sun или кто-то бы это исправил).

Ответы на вопрос(4)

Ваш ответ на вопрос