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_queue.Enqueue(new MessageToWorker(null, TypeOfMessageToWorker.QuickCheckRequest));; p_send_to_worker_construct.send_to_worker_queue_flag = true; Monitor.Pulse(p_worker_pulse_object); } }
public ClientWorkerData(MessageReceivedInform p_message_received_inform, MainFormInvoke p_main_form_invoke, SendToWorkerConstruct p_send_to_worker_construct , ReceiveFromWorkerConstruct p_receive_from_worker_construct, object p_client_worker_pulse_object, ClientWorkerCancelConstruct p_cancel_construct) { message_received_inform = p_message_received_inform; main_form_invoke = p_main_form_invoke; send_to_worker_construct = p_send_to_worker_construct; receive_from_worker_construct = p_receive_from_worker_construct; client_worker_pulse_object = p_client_worker_pulse_object; cancel_construct = p_cancel_construct; }
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(); }