private void Write(object o) { var ssWrit = o as SemaphoreSlim; string[] MyMessagesWri = new string[NumMessages]; for (int j = 0; j < NumMessages; j++) { MyMessagesWri[j] = j.ToString(); } int i = 0; while (i < NumMessages) { if (bEmpty) { ssWrit.Wait(); if (bEmpty) { buffer = MyMessagesWri[i++]; bEmpty = false; } ssWrit.Release(); } } ResultWri.Add(MyMessagesWri); }
public void Write() { string[] MyMessagesWri = new string[NumMessages]; for (int j = 0; j < NumMessages; j++) { MyMessagesWri[j] = j.ToString(); } int i = 0; while (i < NumMessages) { if (bEmpty) { buffer = MyMessagesWri[i++]; bEmpty = false; } } ResultWri.Add(MyMessagesWri); }
private void Write() { string[] MyMessagesWri = new string[NumMessages]; for (int j = 0; j < NumMessages; j++) { MyMessagesWri[j] = j.ToString(); } int i = 0; while (i < NumMessages) { if (Interlocked.CompareExchange(ref intEmpty, 0, 1) == 1) { buffer = MyMessagesWri[i++]; intFull = 1; } } ResultWri.Add(MyMessagesWri); }
public void Write(object state) { var evFull = ((object[])state)[0] as AutoResetEvent; var evEmpty = ((object[])state)[1] as AutoResetEvent; string[] MyMessagesWri = new string[NumMessages]; for (int j = 0; j < NumMessages; j++) { MyMessagesWri[j] = j.ToString(); } int i = 0; while (i < NumMessages) { evEmpty.WaitOne(); buffer = MyMessagesWri[i++]; evFull.Set(); } ResultWri.Add(MyMessagesWri); }