При каких обстоятельствах несинхронизированная коллекция, например ArrayList, может вызвать проблему? Я не могу придумать никого, может кто-нибудь, пожалуйста, дать мне пример, где ArrayList вызывает проблему, и вектор решает ее? Я написал программу, в которой есть 2 потока, изменяющих аррайалист, который имеет один элемент. Одна нить помещает "bbb" в arraylist, а другая ставит "aaa" в arraylist. Я действительно не вижу экземпляр, где строка частично изменена, я нахожусь на правильном пути здесь?
Кроме того, я помню, что мне сказали, что несколько потоков не работают одновременно, 1 поток запускается на некоторое время, после чего выполняется другой поток (на компьютерах с одним процессором). Если это было правильно, как два потока могли одновременно получать одни и те же данные? Может быть, поток 1 будет остановлен в середине изменения чего-то, и начнется поток 2?
Большое спасибо заранее.