c# Task启动多个线程,每个线程启动一个cmd程序,然后执行cmd命令
问题描述:接口访问启动多个cmd再执行命令,每个cmd命令一直在运行的例如:ping 192.168.1.122-t1、Task的简单使用Task task1=Task.Run(() => openCmd();//openCmd是需要运行的方法2、解决一直访问接口,一直开启新线程,(1)定义固定数量的线程public static Task task1;public static Task
·
问题描述:接口访问启动多个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
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)