Existing application evaluation

When writing a multithreaded application, you must evaluate all the parts of the application and all the services that the application uses for thread safety.

How each service or API that is used by the application uses its storage resources is an important consideration for providing threadsafe applications. If you do not use storage in a threadsafe manner, data in your application is likely to be damaged.

Other critical aspects in creating threadsafe applications are the APIs and system services on which your application or your application services rely. To be threadsafe, your storage usage, and all APIs and services that you use directly or indirectly must be threadsafe. APIs and system resources that you use indirectly are particularly difficult to evaluate. See the APIs topic for the specific APIs or system services you use to see if they are threadsafe.

You will probably call system services, APIs, or other applications for which you do not have the source code. For many of these services, the threadsafe classification is not documented and you must assume that these services are not threadsafe.