[Return to Bookshelf] [Contents] [Previous Section] [Next Section] [Index] [Help]


3.8 Multiple Threads Libraries Use Not Supported

DECthreads performs user mode execution "context switching" within a process or virtual processor by exchanging register sets (including the program counter and stack pointer). If any other code within the process also performs this sort of context switch, neither DECthreads nor that other code can ever know which context is active at any time. This can result in, at best, unpredictable behavior - and, at worst, severe errors. On OpenVMS VAX, for example, the VAX Ada run-time library provides its own specialized "tasking" package that does not use DECthreads scheduling. Therefore, the VAX Ada tasking cannot be used within a process that also uses DECthreads. (This restriction does not exist with DEC Ada for OpenVMS Alpha, as it uses DECthreads.)