Valójában egyik sem. Az SMGUI nagyon körültekintően úgy lett megtervezve és implementálva, hogy mindegy legyen neki, hogy egy szálas vagy többszálas programból használod-e.
Magyarán nincs benne olyan kódrészlet, ami gondot okozhatna a többszálúság esetén, azt meg, hogy esetleg a backend többszálú-e (mint a GLFW pl), úgy küszöbölöm ki, hogy ciklikus buffert használok az eventekre, aminél a backend a kizárólagos producer, az ui_event() hívás meg a kizárólagos consumer, így itt sincs szükség szemaforokra, mutexekre, futexekre meg lockolásra. De asszem ez már túl bonyi a legtöbb itteni kopipészt huszárnak, akik azt sem tudják, mi az a ciklikus buffer, nemhogy azt tudnák, miként lehet lockolásmentes queue-ként alkalmazni.
Sajnos az ilyen jellegű gondos tervezés meghaladja a legtöbb itteni forumozó felfogási képességeit, mert csak a stackoverflow-os kódmintákat ismerik, sosem hallotak még ilyesmiről.