В документе Qt говорится:
Как уже упоминалось, каждая программа имеет один поток при запуске. Эта нить называется "основной нитью" (также известной как "поток GUI" в Qt). В этом потоке должен работать GUI GUI.
В документе Android говорится:
Подобно действиям и другим компонентам, службы работают в основном поток процесса приложения
И iOS,
Настоятельно рекомендуется не обновлять элементы управления пользовательским интерфейсом и т.д. из фоновый поток (например, таймер, comms и т.д.). Это может быть причиной которые иногда очень трудно идентифицировать. Вместо этого используйте эти для принудительного выполнения кода в потоке пользовательского интерфейса (который всегда является "основной" поток).
Почему они используют однопоточную модель для обновления интерфейса?