История изменений
Исправление
dave,
(текущая версия)
:
По поводу firefox. Когда ты открываешь страницу, то содержимое страницы загружается в фоновом режиме, а иначе вся отрисовка гуишной формы и вся обработка мышки и клавиатуры просто зависнут. 99% - на то, что такая загрузка делается в отдельном потоке (может быть, через пул), 1% - на то, что это делается в отдельном процессе. Процесс можно и запустить, но тогда дорого обходится передача данных между процессами, тогда как можно предполагать, т.е. не наша головная боль, что передача данных между потоками не стоит ничего или почти ничего.
По-мимо выполнения фоновых задач в отдельном потоке, еще есть один распространенный сценарий. Иногда нужно выполнить некоторое действие после полной обработки гуишного события (отрисовка / мышь / клавиатура), т.е. нужно бывает некое последействие. Тогда обычно создается фоновый поток с низким приоритетом, вся работа которого заключается в том, что он должен подсоединиться к гуишному потоку, в котором мы пока еще находимся и из которого мы создали этот новый поток, а потом должен внутри гуишного потока запустить последующее действие. Фокус в том, что такое последействие фактически запускается через системную очередь событий. Этот прием встречается очень часто (см. таймеры).
В общем, тот иностранец очень сильно вбросил на счет многопоточности.
Исходная версия
dave,
:
По поводу firefox. Когда ты открываешь страницу, то содержимое страницы загружается в фоновом режиме, а иначе вся отрисовка гуишной формы и вся обработки мышки и клавиатуры просто зависнут. 99% - на то, что такая загрузка делается в отдельном потоке (может быть, через пул), 1% - на то, что это делается в отдельном процессе. Процесс можно и запустить, но тогда дорого обходится передача данных между процессами, тогда как можно предполагать, т.е. не наша головная боль, что передача данных между потоками не стоит ничего или почти ничего.
По-мимо выполнения фоновых задач в отдельном потоке, еще есть один распространенный сценарий. Иногда нужно выполнить некоторое действие после полной обработки гуишного события (отрисовка / мышь / клавиатура), т.е. нужно бывает некое последействие. Тогда обычно создается фоновый поток с низким приоритетом, вся работа которого заключается в том, что он должен подсоединиться к гуишному потоку, в котором мы пока еще находимся и из которого мы создали этот новый поток, а потом должен внутри гуишного потока запустить последующее действие. Фокус в том, что такое последействие фактически запускается через системную очередь событий. Этот прием встречается очень часто.
В общем, тот иностранец очень сильно вбросил на счет многопоточности.