Dynamic link libraries (DLLs) have been around since Microsoft first introduced Windows. In fact, DLLs are actually the successors of the libraries used by DOS applications. For the most part, DLLs allow for the same uses of threads as applications do. The main difference is that you’d want to place common thread types in DLLs— threads that perform work that you may need to do in more than one application. However, developers do place some
thread categories in DLLs, simply because they’re major components of an application that the developer may not want to recompile every time the application is updated.
§ Spelling and grammar checkers
§ Print routines
§ Non-automated data formatting
§ Data processing routines
§ Report builders
You could potentially add other items, but this list should provide you with enough ideas to get started. The reason that these items could appear in a DLL is that the developer normally creates and debugs them separately from the main part of the application. It pays to keep these elements in a DLL to reduce debugging time for the main application and to reduce application compile time.