Каковы весовые и тяжелые потоки с точки зрения Java?Тяжелый вес и легкая резьба
ответ
В большинстве систем Светлые потоки - это обычные потоки, созданные с помощью библиотеки, такие как p_threads в linux.
В то время как в некоторых системах тяжелый вес относится к системному процессу с его собственной виртуальной памятью и более сложной структурой, например информацией о производительности процесса/статистике.
Для получения дополнительной информации:
http://www.computerworld.com/s/article/66405/Processes_and_Threads
http://msdn.microsoft.com/en-us/library/ms684841(VS.85).aspx
Это связано с количеством «контекста», связанный с потоком, и, следовательно, количество времени, которое требуется, чтобы выполнить «переключение контекста ».
Тяжелые потоки (как правило, потоки уровня ядра/os) имеют много контекста (аппаратные регистры, стеки ядра и т. Д.). Поэтому для переключения между потоками требуется много времени. Тяжелые потоки могут также иметь ограничения на них, например, на некоторых операционных системах, потоки ядра не могут быть предварительно упущены, а это означает, что они не могут принудительно отключиться до тех пор, пока они не откажутся от контроля.
Легкие потоки с другой стороны (обычно, потоки пользовательского пространства) имеют гораздо меньший контекст. (Они, по сути, имеют один и тот же аппаратный контекст), им нужно только сохранить контекст пользовательского стека, поэтому время, затрачиваемое на переключение облегченных потоков, намного короче.
В большинстве ОС любые потоки, созданные вами в качестве программиста в пользовательском пространстве, будут легкими по сравнению с потоками пространства ядра. Формального определения тяжеловеса и легкого не существует, это просто сравнение между потоками с большим количеством контекста и потоками с меньшим контекстом. Не забывайте, что каждая ОС имеет свою собственную реализацию потоков, а линии между тяжелыми и светлыми потоками не обязательно четко определены. В некоторых языках программирования и фреймворках, когда вы создаете «Thread», вы можете даже не получать полный поток, вы можете просто получить некоторую абстракцию, которая скрывает реальное количество потоков под ним.
[Некоторые операционные системы позволяют нитям разделить адресное пространство, поэтому потоки, которые, как правило, быть достаточно тяжелыми, немного светлее]
Java стандартные потоки достаточно тяжелые по сравнению с Erlang нитей, которые очень легкие spawnable процессами. Эрланг демонстрирует распределенный конечный автомат. Однако, например, http://kilim.malhar.net/, библиотека расширений Java, основанная на модели параллелизма Actor, предлагает конструкцию для легковесных потоков в java. Вместо Thread реализует run(), поток Kilim реализует из библиотеки Kilim с помощью метода execute(). По-видимому, это показывает, что время исполнения Java превосходит Erlang (по крайней мере, в локальной среде AFAIK). Java действительно имеет такие вещи в оригинальной спецификации языка, называемой «зелеными потоками», но последующие версии Java отбросили их в пользу родных потоков.
- 1. Резьба и аккумулятор
- 2. усиленная резьба и розетка
- 3. резьба и сон
- 4. Резьба и новый счетчик
- 5. Сервлет-фильтры и резьба?
- 6. Розетки и резьба
- 7. Резьба и вилки
- 8. Резьба и статические переменные
- 9. OpenGL и резьба
- 10. iCloud и легкая миграция
- 11. Тяжелый запрос ContentProvider и ListView
- 12. wait и резьба точная разница
- 13. гнезда и резьба в C
- 14. Резьба и сумма двумерной матрицы
- 15. асинхронный ждет и нарезания резьба
- 16. Python входная и выходная резьба
- 17. Резьба начинает работать и оканчивается
- 18. python Tkinter, резьба и петли
- 19. Базовая резьба
- 20. Win32 резьба
- 21. Легкая миграция
- 22. React Redux: Где тяжелый тяжелый подъем? Редуктор или ActionCreator?
- 23. Линейная компоновка и вес
- 24. КоординаторLayout и вес
- 25. Высота и вес видео
- 26. Android и вес
- 27. Вес и квадратная форма
- 28. Организуйте тяжелый импорт питона
- 29. Java AWT Тяжелый холст
- 30. Задача таймера и резьба и внутренний класс
@TFD - только для ОП задано 4 вопроса, есть много времени, чтобы принять ответ. – ChrisF