This question evaluates understanding of concurrency and parallelism, specifically multithreading versus multiprocessing, their interaction with multi-core CPUs, and recognition of common concurrency pitfalls such as race conditions, deadlocks, and overhead.
In the context of implementing a crawler, answer the following: