并发执行多个程序的方法
来源:互联网 发布:五大贵重宝石知乎 编辑:程序博客网 时间:2024/05/29 16:59
如何同时运行多个程序?
-- by benbenknight
同时运行多个程序一般有两种方式,一种是串行的,即运行完一个程序再运行下一个;一种是并行的,即程序运行后不必等待执行结束就运行下一个。
最简单的方法就是使用批处理文件或Windows脚本,也可以使用VC写个小程序,读取配置文件中的程序路径及参数,循环调用CreateProcess函数即可。下面主要介绍前两种方法。
一、批处理文件
批处理命令中,call和直接输入程序路径采用等待程序结束方式,start采用的是不等待的方式。下面几个小例子中,其中RunS1.bat、RunS2.bat为串行运行,RunP.bat为并行运行。
---------------------------------
文件RunS1.bat:
echo off
rem RunS1.bat
rem 同时串行运行多个程序
set cmd1=D:test1
set cmd2=D:test2
call %cmd1%
call %cmd2%
---------------------------------
文件RunS2.bat:
echo off
rem RunS2.bat
rem 同时串行运行多个程序
set cmd1=D:test1
set cmd2=D:test2
%cmd1%
%cmd2%
---------------------------------
文件RunP.bat:
echo off
rem RunP.bat
rem 同时并行运行多个程序
set cmd1=D:test1
set cmd2=D:test2
start %cmd1%
start %cmd2%
---------------------------------
二、Windows脚本
WshShell对象的Run方法即可采用等待程序结束的方式,也可采用不等待的方式;Exec方法采用不等待的方式。下面几个小例子中,
---------------------------------
文件RunS.vbs:
' RunS.vbs
' 同时串行运行多个程序
strCmd1 = "D:\test1.exe"
strCmd2 = "D:\test2.exe"
Set wshShell = CreateObject("WScript.Shell")
nWindowStyle = 1 ' 激活并显示窗口
bWaitOnReturn = 1 ' 等待程序执行完毕再执行下一条语句
wshShell.Run strCmd1,nWindowStyle,bWaitOnReturn
wshShell.Run strCmd2,nWindowStyle,bWaitOnReturn
---------------------------------
文件RunP1.vbs:
' RunP1.vbs
' 同时并行运行多个程序
strCmd1 = "D:\test1.exe"
strCmd2 = "D:\test2.exe"
Set wshShell = CreateObject("WScript.Shell")
nWindowStyle = 1 ' 激活并显示窗口
bWaitOnReturn = 0 ' 不必等待程序执行完毕再执行下一条语句
wshShell.Run strCmd1,nWindowStyle,bWaitOnReturn
wshShell.Run strCmd2,nWindowStyle,bWaitOnReturn
---------------------------------
文件RunP2.vbs:
' RunP2.vbs
' 同时并行运行多个程序
strCmd1 = "D:\test1.exe"
strCmd2 = "D:\test2.exe"
Set wshShell = CreateObject("WScript.Shell")
wshShell.Exec(strCmd1)
wshShell.Exec(strCmd2)
---------------------------------
等待并行程序结束:
:loop
ping -n 2 127.1>nul
tasklist /fi "windowtitle eq 并行*" |findstr "cmd.exe">nul&&(goto loop)
- 并发执行多个程序的方法
- 程序的并发执行
- 执行方法为PL/SQL Stored Procedure的并发程序
- 什么是程序的并发执行
- iOS 多个网络请求并发执行的解决方案
- 多个委托方法的顺序执行
- 多线程线程池控制一个方法的并发量 限制只有5个线程执行任务
- 【操作系统】前趋图,程序的顺序执行和并发执行
- 关于多个按钮更改程序执行状态的实验
- java并发API中ThreadPoolExecutor类提供的执行所有任务和任一任务的2个方法整理
- 批处理运行多个程序的方法
- 批处理运行多个程序的方法
- 让异步的多个ajax顺序执行的方法
- JavaScript执行多个处理过程的方法
- 批处理执行多个oracle sql文件的方法
- linux shell 执行多个命令的方法
- linux shell 执行多个命令的几种方法
- 避免CRONTAB同时执行多个脚本的方法
- leetcode No116. Populating Next Right Pointers in Each Node
- 分布式文件存储 搭建FastDFS-5.0.5集群
- QML在动画执行完做其它事
- 全透明UINavigationBar的实现
- Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
- 并发执行多个程序的方法
- 栈结构、队列
- Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
- 循环链表的建立
- 有序链表的建立
- 程师们不要想一辈子靠技术混饭吃
- android 关联启动第三方应用
- java-String中的 intern()
- 单链表中重复元素的删除