Полезные различия:
Использование уведомляет () , если все Ваши ожидающие потоки являются взаимозаменяемыми (порядок, они просыпаются, не имеет значения), или если у Вас только когда-либо есть один поток ожидания. Типичным примером является пул потоков, используемый для выполнения заданий от очереди - когда задание добавляется, один из потоков уведомляется, чтобы проснуться, выполнить следующее задание и вернуться ко сну.
Использование notifyAll () для других случаев, где потоки ожидания могут иметь различные цели и должны быть в состоянии работать одновременно. Примером является техническое обслуживание на совместно используемом ресурсе, где несколько потоков ожидают операции для завершения прежде, чем получить доступ к ресурсу.
Собирался удалить это, но решил, что поделюсь ответом. Несмотря на то, что я сказал выше, я снова изменил файл ini, на этот раз изменив файл, чтобы он имел эти два значения:
[mysqld]
max_allowed_packet = 512M
[mysqldump]
max_allowed_packet = 512M
Раньше я изменял только одно из двух. sigh