Как превентивное ядро приводит к условиям гонки? если процесс выгружен, т. е. не выкинут из его критической секции. из моего понимания состояния гонки, когда несколько процессов пытаются получить доступ и управлять ресурсами одновременно. У меня проблемы с пониманием концепцииУстранение проблем упреждающего ядра
ответ
Упреждающее ядро может запускать и останавливать потоки в любой точке. Это означает, что потоки, которые не тщательно координируют их доступ через блокировки и критические разделы, попадают в условия гонки.
Другая форма многопоточности представляет собой совместную многопоточность, где потоки могут быть остановлены только в тех точках, где они явно предлагают получить процессор. Это помогает предотвратить условия гонки, потому что потоки не прерываются в случайных неожиданных точках при их обработке.
Недостатком кооперативной многопоточности является то, что поток, написанный не для того, чтобы уступить, может привести к зависанию процессора, и именно поэтому большинство современных операционных систем используют превентивную многопоточность, а не совместную многопоточность.
- 1. Семафор при использовании упреждающего ядра
- 2. Устранение проблем с анализом
- 3. Устранение сетевых проблем
- 4. Устранение проблем Веб-сайт
- 5. Устранение множественных проблем сонара
- 6. Устранение проблем в C#?
- 7. Устранение проблем с пикселями
- 8. Устранение cudaMemcpy между вызовами ядра
- 9. Устранение проблем с повышением/понижением
- 10. Узел Устранение проблем с метеор
- 11. Устранение проблем с дизайном Android
- 12. Устранение проблем с экспортируемой функцией
- 13. Устранение проблем с копировальным конструктором
- 14. Устранение проблем с разворачиванием изображения
- 15. Устранение проблем с удалением пустой строки
- 16. Устранение проблем с Silly C++ в GCC
- 17. CSS Устранение проблем форматирования не встраивается
- 18. Устранение проблем с шириной страницы, JavaScript
- 19. Устранение проблем с нормальным направлением сейсмических линий3D
- 20. Устранение проблем с редактированием реестра VB.NET
- 21. Устранение проблем с выбором 1 + n
- 22. Устранение проблем при получении данных из Firebase
- 23. Устранение проблем с проектом DSL SetUp
- 24. Проект Netbeans: устранение проблем с источником данных
- 25. Устранение проблем с диспетчером модального обзора
- 26. Устранение проблем SQL в исходном запросе RedQueryBuilder
- 27. EF 5.0 Устранение проблем, которые уже отслеживаются
- 28. Устранение проблем с файлами в Android
- 29. Устранение проблем с foreach в моем mvc
- 30. Устранение проблем памяти из-за AUTO SHRINK?
Основным недостатком кооперативной многопоточности является ужасно плохая производительность ввода-вывода, поскольку потоки не могут быть готовы/запущены «немедленно», когда запрашиваемые ранее запросы ввода-вывода становятся доступными. –
@warren спасибо. так и может ли невосприимчивость привести к голоду? – user3497437
@ user3497437 Совместная многопоточность может привести к голоданию других потоков, когда работающий поток не сработает, да. –