LINUX.ORG.RU

История изменений

Исправление dave, (текущая версия) :

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

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

В общем, тот иностранец очень сильно вбросил на счет многопоточности.

Исходная версия dave, :

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

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

В общем, тот иностранец очень сильно вбросил на счет многопоточности.