Select Git revision
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Program.cs 1.72 KiB
using System;
using System.Collections.Generic;
using System.Net.Mime;
using System.Runtime.CompilerServices;
using System.Runtime.Remoting.Messaging;
using System.Threading;
namespace ConsoleApplication1
{
public static
class Program
{
public static void Main(string[] args)
{
int nrProd = 0;
int nrCons = 0;
//Parse received program arguments to int
try
{
nrProd = int.Parse(args[0]);
nrCons = int.Parse(args[1]);
}
catch (FormatException ignored)
{
Console.WriteLine("Please provide two positive integers as program arguments");
Environment.Exit(1);
}
Buffer buffer = new Buffer();
//Create n new producers where n = received argument
for(int i = 0; i < nrProd; i++)
{
//create new Producer object
Producer p = new Producer(buffer);
//create new Thread and start it
Thread newThread = new Thread(p.Produce);
newThread.Start();
}
//Create n new consumers where n = received argument
for (int i = 0; i < nrCons; i++)
{
//create new Consumer object
Consumer c = new Consumer(buffer);
//create new Thread and start it
Thread newThread = new Thread(c.Consume);
newThread.Start();
}
}
/*
static void setAsleep()
{
Thread.Sleep(8000);
Consumer.wakeUp();
}
*/
}
}