public void StartNewThreadNotCatch(ThreadStarterDelegate ts_delegate, params object[] param_array) { current_delegate_ = ts_delegate; param_ = new ArrayList(param_array); System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(current_delegate_)); t.IsBackground = true; t.Start(); }
public void StartNewThread(ThreadStarterDelegate ts_delegate, ThreadCompletedDelegate completed_delegate, params object[] param_array) { if (is_running_) { msg_receiver_.Write("別の処理を実行中です。\r\n"); } else { is_running_ = true; current_delegate_ = ts_delegate; current_completed_delegate = completed_delegate; param_ = new ArrayList(param_array); System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(StartNewThreadInner)); t.IsBackground = true; t.Priority = System.Threading.ThreadPriority.BelowNormal; t.Start(); } }