在启动几个线程之前请求用户输入

本文关键字:请求 用户 输入 线程 几个 启动 | 更新日期: 2023-09-27 18:30:30

private void Home_Load(object sender,EventArgs e){
//request input by user first
getUserInput()
Thread threadA = new Thread(new ThreadStart(threadAtoRun()));
threadA.Start();
Thread threadB = new Thread(new ThreadStart(threadBtoRun()));
threadB.Start();
Thread threadC = new Thread(new ThreadStart(threadCtoRun()));
threadC.Start();
}
private void getUserInput(){
     //request input from user,user need to select and submit to form ,this input from user use      globally for threadA,threadB and threadC. Only request one times before threadA,threadB and threadC run.
}
private void threadAtoRun(){
     //to do something
}
private void threadBtoRun(){
    //to do something
}
private void threadCtoRun(){
    //to do something
}

在这个程序中,在运行几个线程之前需要最终用户输入,输入将由线程A,线程B和线程C使用。程序执行时仅请求一次。

如何使它起作用?

在启动几个线程之前请求用户输入

启动模式窗体以获取用户输入。模式表单将阻止执行,直到用户提交/取消模式表单。当模式窗体返回时,通过启动线程继续处理。

var form = new GetInputForm();
if (DialogResult.OK == form.ShowDialog()) {
  // continue processing, start threads
}

您可以在启动表单之前检查是否已收集输入,以确保仅要求用户输入一次。