> [!infobox] <s class="aside-in"><em>mentioned in 1 topic, 2 evergreens</em></s> #### [[Using multiple processes vs multiple threads]] Processes are parents to threads, somewhat like the [[Operating Systems|operating system]] is the parent to processes. The process will create and use threads within its own memory space to accomplish tasks more efficiently, but both processes and threads are dynamic which means that their respective controllers must maintain and keep track of them. Multiple threads/processes can be used have multiple operations that can happen concurrently. Managing threads within your process can be quite complicated, but it can be very beneficial if you are waiting on long operations such as slow I/O or slow algorithms. Threads should be used if sharing of data structures and memory is needed, but multiple processes make more sense when the parallel tasks are logically separate. ^[[https://pages.cs.wisc.edu/~remzi/OSTEP/threads-intro.pdf](https://pages.cs.wisc.edu/~remzi/OSTEP/threads-intro.pdf)] ### <hr class="footnote"/> **Status**:: #EVER/GREEN *edited 7:35 AM - July 08, 2022* **Topics**:: [[Operating Systems]], [[Computer Science]]