Threading needs to be considered both at build time and at run time. The application design considerations are described here, the build time requirements are described in Threading build time considerations.