One of the most serious problems using threads is the resource sharing, mutual exclusion locking and race conditions.
C is a good and complex language, and enables you the well the memory managment, however, the original question is: can we transform C language into Object Oriented Language without modify the compiler? And the answer is: YES, we can.
We wont have all the C++ power doing this, cannot specify private/public/protected methods, hierarchy and other stuff available on C++, only will have the power to create some interface classes and fillit with functions in runtime.
Continue reading Is C an Object Oriented Language?