Megosztás:


Többszálú

Többszálas operációs rendszereken az illesztőprogramoknak szálbiztosnak kell lenniük. Vagyis lehetővé kell tenni, hogy az alkalmazások ugyanazt a fogópontot több szálon is használják. Ennek megvalósítása illesztőprogram-specifikus, és valószínű, hogy az illesztőprogramok szerializálják a két különböző szálon egyidejűleg ugyanazt a leírót használó kísérleteket.

Az alkalmazások gyakran több szálat használnak aszinkron feldolgozás helyett. Az alkalmazás létrehoz egy külön szálat, meghív egy ODBC-függvényt rajta, majd folytatja a feldolgozást a főszálon. Ahelyett, hogy folyamatosan le kellene kérdeznie az aszinkron függvényt, ahogyan az SQL_ATTR_ASYNC_ENABLE utasítás attribútum használata esetén is, az alkalmazás egyszerűen engedélyezheti az újonnan létrehozott szál befejezését.

Az utasításkezelőt elfogadó és az egyik szálon futó függvények megszakíthatók úgy, hogy meghívják az SQLCancelt ugyanazzal az utasításfogóponttal egy másik szálról. Bár az illesztőprogramok nem szerializálják az SQLCancel használatát ilyen módon, nincs garancia arra, hogy az SQLCancel meghívása ténylegesen megszakítja a másik szálon futó függvényt.