1. Python in Parallel
  2. Parallel
    1. Types of Problems
    2. Types of solutions
    3. Time slicing
    4. Concurrencies
    5. How many parallels to use?
    6. Dividing jobs
    7. Performance Monitoring
  3. Threads
    1. Python Threading docs
    2. Threaded counters
    3. Simple threaded counters
    4. Simple threaded counters (parameterized)
    5. Pass parameters to threads - Counter with attributes
    6. Create a central counter
    7. Lock - acquire - release
    8. Counter - plain
    9. GIL - Global Interpreter Lock
    10. Thread load
    11. Exercise: thread files
    12. Exercise: thread URL requests.
    13. Exercise: thread queue
    14. Solution: thread queue
    15. Solution: thread URL requests.
    16. Concurrency
    17. Create a counter queue
    18. A Queue of tasks
  4. Forking
    1. Fork
    2. Forking
    3. Fork skeleton
    4. Fork with load
    5. Fork load results
    6. Marshalling / Serialization
    7. Fork with random
    8. Exercise: fork return data
    9. Solution: fork return data
  5. Multiprocess
    1. Multiprocess CPU count
    2. Multiprocess N files: Pool
    3. Multiprocess load
    4. Multiprocess: Pool
    5. Multiprocess load async
    6. Multiprocess and logging
    7. Exercise: Process N files in parallel
    8. Exercise: Process N Excel files in parallel
    9. Exercise: Fetch URLs in parallel
    10. Exercise: Fetch URLs from one site.
    11. Solution: Process N files in parallel
    12. Solution: Fetch URLs in parallel
  6. Multitasking
    1. What is Multitasking?
    2. Multitasking example
    3. Multitasking example with wait
    4. Multitaksing - second loop waits for first one
    5. Multitasking counter
    6. Multitasking counter with thread locking