Пример #1
0
        public void sendRequest(int id)
        {
            procEventArgs ev = new procEventArgs();

            ev.id = id;
            OnProc(ev);
        }
Пример #2
0
 public void proc(object sender, procEventArgs e)
 {
     lock (threadLock)
     {
         Console.WriteLine("Заявка с номером: {0}", e.id);
         requestCount++;
         for (int i = 0; i < n; ++i)
         {
             if (pool[i].in_use == false)
             {
                 pool[i].wait++;
             }
         }
         for (int i = 0; i < n; i++)
         {
             if (!pool[i].in_use)
             {
                 pool[i].count++;
                 pool[i].in_use = true;
                 pool[i].thread = new Thread(new ParameterizedThreadStart(Answer));
                 pool[i].thread.Start(e.id);
                 processedCount++;
                 return;
             }
         }
         rejectedCount++;
     }
 }
Пример #3
0
 protected virtual void OnProc(procEventArgs e)
 {
     request?.Invoke(this, e);
 }