c# Task启动多个线程,每个线程启动一个cmd程序,然后执行cmd命令
程序员文章站
2022-03-26 16:38:53
问题描述:接口访问启动多个cmd再执行命令,每个cmd命令一直在运行的例如:ping 192.168.1.122 -t1、Task的简单使用Task task1=Task.Run(() => openCmd();//openCmd是需要运行的方法2、解决一直访问接口,一直开启新线程,(1)定义固定数量的线程 public static Task task1; public static Task task2; public static T...
问题描述:接口访问启动多个cmd再执行命令,每个cmd命令一直在运行的
例如:ping 192.168.1.122 -t
1、Task的简单使用
Task task1=Task.Run(() => openCmd();//openCmd是需要运行的方法
2、解决一直访问接口,一直开启新线程,
(1)定义固定数量的线程
public static Task task1;
public static Task task2;
public static Task task3;
public static Task[] taskT=new Task[] {task1,task2, task3};
(2)循环访问开启线程,判断是否第一次执行,如果是就开启线程,否就判断线程是否执行完成,如果完成就再次开启这个线程
for (int i = 0; i < 3; i++)
{
int ip = i + 2;
string inputstr = "cmd.exe";
string strffpeg="ping 192.168.1.122 -t";
//判断是否第一次启动
if (taskT[i] != null)
{
//判读线程是否完成,或者等于null//完成就重新启动
if (taskT[i].Status == TaskStatus.RanToCompletion)
{
taskT[i] = Task.Run(() => OpenCMD(inputstr, strffpeg));
}
}
else
{
taskT[i] = Task.Run(() => OpenCMD(inputstr, strffpeg));
}
}
3、openCmd
参考:https://blog.csdn.net/chunTF/article/details/103866368?utm_medium=distribute.pc_relevant_bbs_down.none-task–2allfirst_rank_v2rank_v29-5.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task–2allfirst_rank_v2rank_v29-5.nonecase
本文地址:https://blog.csdn.net/qq_40099034/article/details/112240419
上一篇: JAVA面向对象的思想和编程
下一篇: Java 中的线程调度