Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Challenge: Producer-Consumer with Processes | Working with Processes
Quizzes & Challenges
Quizzes
Challenges
/
Python Multithreading and Multiprocessing

bookChallenge: Producer-Consumer with Processes

In many real-world applications, you need to coordinate work between different parts of a system running in parallel.

A common pattern for this is the producer-consumer scenario:

  • A producer process generates data (such as numbers) and puts them into a shared Queue;
  • At the same time, a consumer process retrieves data from the queue and processes it, for example by squaring each number and printing the result.

This pattern helps decouple data creation from data processing, making your programs more efficient and responsive when working with multiple processes.

Oppgave

Swipe to start coding

Implement a producer-consumer pattern using two separate processes and a multiprocessing.Queue.

  • Complete the producer function so that it puts all numbers from the numbers list into the queue.
  • After all numbers, the producer should put a single 'DONE' marker into the queue to signal the consumer to stop.
  • Complete the consumer function so that it retrieves numbers from the queue. For each number, print the string 'Processed: {result}' where result is the square of the number.
  • The consumer should stop processing when it receives the 'DONE' marker and should not print anything for the 'DONE' marker.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you give an example of how to implement the producer-consumer pattern in Python?

What are some common issues to watch out for in producer-consumer scenarios?

How does using a queue help with synchronization between processes?

close

bookChallenge: Producer-Consumer with Processes

Sveip for å vise menyen

In many real-world applications, you need to coordinate work between different parts of a system running in parallel.

A common pattern for this is the producer-consumer scenario:

  • A producer process generates data (such as numbers) and puts them into a shared Queue;
  • At the same time, a consumer process retrieves data from the queue and processes it, for example by squaring each number and printing the result.

This pattern helps decouple data creation from data processing, making your programs more efficient and responsive when working with multiple processes.

Oppgave

Swipe to start coding

Implement a producer-consumer pattern using two separate processes and a multiprocessing.Queue.

  • Complete the producer function so that it puts all numbers from the numbers list into the queue.
  • After all numbers, the producer should put a single 'DONE' marker into the queue to signal the consumer to stop.
  • Complete the consumer function so that it retrieves numbers from the queue. For each number, print the string 'Processed: {result}' where result is the square of the number.
  • The consumer should stop processing when it receives the 'DONE' marker and should not print anything for the 'DONE' marker.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4
single

single

some-alt