dalsi
4vdc/1/400000003: videocontroller
_- SQL jazyk
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace Cviceni4
{
class Skladiste
{
private int krabice;
private int result;
public Skladiste()
{
}
public int Krabice
{
get
{
return krabice;
}
}
public void Vlozit(int pocet)
{
lock (this)
{
krabice = krabice + pocet;
}
}
public int Vybrat(int pocet)
{
lock (this)
{
if (pocet >= krabice)
{
krabice = krabice - pocet;
result = krabice;
return result;
}
else
{
Thread.Sleep(5000);
krabice = 0;
result = krabice;
return result;
}
}
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace Cviceni4
{
class Program
{
Skladiste skladiste; //staticka prommena
static void Main(string[] args)
{
Program prg = new Program();
prg.skladiste = new Skladiste();
Thread vlakno1 = new Thread(prg.Start1);
Thread vlakno2 = new Thread(prg.Start2);
vlakno1.Start();
vlakno2.Start();
while (true)
{
Console.WriteLine(prg.skladiste.Krabice);
}
}
void Start2()
{
skladiste.Vlozit(20);
skladiste.Vybrat(8);
Thread.Sleep(5000);
skladiste.Vlozit(10);
}
void Start1()
{
Thread.Sleep(3000);
skladiste.Vybrat(10);
}
}
}