multithreadding Semiprocess or subprocess executes a given piece of code May run concurrently with other threads Cooperative Share Memory space Shared data