The CICS® Transaction Gateway C++ libraries are not completely thread-safe. That is, they do not have critical sections, or semaphores, to prevent two threads from updating the same instance of an object. However, the classes do not share data, so they can be used in a well designed, multi-threaded, Client application. The normal technique is for each thread to have its own instance of lightweight objects, such as CclConn, CclFlow, CclBuf.