Skip to content
Snippets Groups Projects
Commit 062a32fd authored by Thomas Letzgus's avatar Thomas Letzgus
Browse files

Upload New File

parent 6ecb951d
No related branches found
No related tags found
No related merge requests found
Main.py 0 → 100644
from buffer import Buffer
from producer import Producer
from consumer import Consumer
import threading
import sys
import time
def main(producers, consumers):
buffer_size = 10 # Size of the buffer
buffer = Buffer(size=buffer_size)
producer_threads = []
consumer_threads = []
# Create producer threads
for i in range(producers):
producer = Producer(buffer)
producer_threads.append(producer)
producer_thread = threading.Thread(target=producer.produce)
producer_thread.start()
# Create consumer threads
for i in range(consumers):
consumer = Consumer(buffer)
consumer_threads.append(consumer)
consumer_thread = threading.Thread(target=consumer.consume)
consumer_thread.start()
while True:
# Print buffer state and sleep for a while
print("Buffer state:")
print("Empty:", buffer.empty())
print("Full:", buffer.full())
print("Buffer:", buffer.buffer)
print("------------------------")
sys.stdout.flush()
time.sleep(5)
# Example usage:
if __name__ == "__main__":
num_producers = int(sys.argv[1]) # Number of producers from program argument
num_consumers = int(sys.argv[2]) # Number of consumers from program argument
main(num_producers, num_consumers)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment