private static void QuickCheckThread(SendToWorkerConstruct p_send_to_worker_construct, object p_worker_pulse_object) { lock (p_worker_pulse_object) { p_send_to_worker_construct.send_to_worker_quque.Enqueue(new MessageToServerWorker(TypeOfMessageToServerWorker.QuickCheckRequest, null)); p_send_to_worker_construct.send_to_worker_queue_flag = true; Monitor.Pulse(p_worker_pulse_object); } }
public ServerWorkerData(ReceiveFromServerWorkerConstruct p_receive_from_worker_construct, object p_server_pulse_object, RemoveWorker p_remove_worker) { receive_from_worker_construct = p_receive_from_worker_construct; remove_worker = p_remove_worker; server_pulse_object = p_server_pulse_object; worker_pulse_object = new object(); cancel_construct = false; cancel_construct_lock = new object(); send_to_worker_construct = new SendToWorkerConstruct(); }
private static void worker_timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e, SendToWorkerConstruct p_send_to_worker, object p_worker_pulse_object) { Thread quick_check_thread = new Thread(() => QuickCheckThread(p_send_to_worker, p_worker_pulse_object)); quick_check_thread.Start(); }