bonjour je veux threads de collaborer un producteur et un consommateur. le consommateur est plutôt lent, et le producteur est très rapide et travaille en rafales. Par exemple, le consommateur peut traiter un message par 20 secondes, et le producteur peut produire 10 messages en une seconde, mais le fait environ une fois de temps en temps pour que le consommateur puisse le rattraper.C# communication inter-thread
je veux quelque chose comme:
Stream commonStream;
AutoResetEvent commonLock;
void Producer()
{
while (true)
{
magic.BlockUntilMagicAvalible();
byte[] buffer = magic.Produce();
commonStream.Write(buffer);
commonLock.Set();
}
}
void Consumer()
{
while(true)
{
commonLock.WaitOne();
MagicalObject o = binarySerializer.Deserialize(commonStream);
DoSomething(o);
}
}
Quelle version de .Net utilisez-vous, il y a de nouvelles choses à v4 pour exactement ce genre de choses –
.Net 3.5; Les commentaires doivent contenir au moins 15 caractères. –