multi-threading
Simultaneous process paths
Multi-threading is a computing technique where a program runs multiple threads of execution simultaneously, allowing different tasks to proceed in parallel.
A thread is a sequence of instructions that can be managed independently.
Multi-threading improves performance on multi-core processors: The application uses multi-threading to handle user input while loading data in the background.
Also spelled multithreading.
Matching structural elements
- synchronizationAligning timing across systems
- deadlockMutual blocking, no progress
- semaphoreFlag-based signaling system
- atomicityAtoms in a molecule
interleaving · starvation · asynchronous · preemptive · barrier · monitor · join · fork
Increase in pace
- throughputProcessing rate over time
- scalabilityCapacity for growth
- overheadLocated directly above
- bottleneckConstriction limiting throughput
parallelism
Matching structural elements
- synchronizationAligning timing across systems
- deadlockMutual blocking, no progress
- semaphoreFlag-based signaling system
atomicity · interleaving · starvation · asynchronous · preemptive · barrier · monitor · join · fork · yield
speedup
Increase in pace
- throughputProcessing rate over time
- scalabilityCapacity for growth
- overheadLocated directly above
- processorsCPU, processor, Intel Core, microprocessor, Pentium
- threading types