Mu; ltiple threads - как ходовые части одной и той же программы одновременно с использованием одних и тех же данных.
Типичным примером является то, что, когда программе необходимо выполнить длительный расчет, она может создать отдельный поток для вычисления в фоновом режиме и продолжать реагировать на ввод пользователя в основной поток.
Проблема с несколькими потоками заключается в том, что, поскольку они работают в одно и то же время, и вы действительно не сейчас, что они делают, поскольку они могут принимать собственные решения, становится сложно полагаться на определенные действия на общем данные всегда выполняются в определенном порядке.
Существует множество методов дефляции с thqt, один из них - это синхронизирующий ключ для синхронного доступа qllow. Это означает, что один поток блокирует доступ к объекту, когда он занят, поэтому, когда другие потоки хотят получить доступ, им приходится ждать.
Таким образом, это означает, что StringBuffer является синхронным, он блокирует доступ к потокам toher, когда один поток обновляет его.
Использование нескольких потоков считается передовой темой, и не все проблемы были решены удовлетворительным образом. Опираясь на «синхронные» объекты для работы с параллелизмом, вы не получите слишком далеко, потому что обычно вы будете делать обновления для нескольких объектов согласованным образом, и они также должны быть синхронизированы.
Мой совет: держаться подальше оттуда, пока вы не прочтете хорошую книгу и не экспериментируете на упражнениях. Пока не будут делиться данными между потоками (кроме простейших сигнальных флагов).
http://en.wikipedia.org/wiki/Thread_%28computer_science%29 –
Это означает, что, когда 2 или более потока обращаются к одному и тому же объекту в «то же время». Например, 1 поток может попытаться получить значение строки, а другой - обновить его. Это известная проблема «синхронизации». StringBuffer может быть любым объектом, к которому обращаются 2 или более потоков. – Andreas