当前位置:首页 » 编程软件 » 批处理多线程编译

批处理多线程编译

发布时间: 2022-03-05 17:01:02

① 请高手编写一个可以同时执行2个程序的bat文件

我知道了你的意思:点击一下打开两个程序.
非常简单,如下:
--------------------------------------------------
@echo off
rem 打开
start "c:\windows\DOA.EXE"
start "c:\windwos\dxdiag.exe"
pause
--------------------------------------------------
@echo off
rem 关闭
taskkill /f doa.exe
taskkill /f dxdiag.exe
pause
--------------------------------------------------
复制虚线内的内容,保存为bat为后缀的文件就行了(这里假如你那两个程序在c:\windwos目录下.

② 批处理的多线程实现

这,你的结构不对吧。。。

③ 请教批量更新和多线程更新的效率

1、把你数据库的表,对应写成一个java bean,假如该类名为Message。
2、写好一个MessageDao的类,里面包含有你对数据库的操作等方法,如:
public static boolean update(Message m){}
3、写一个处理线程,如:HandleThread.java
4、写一个处理的类,调用HandleThread线程。
HandleThread.java
public class HandleThread implements Runnable{
private Handle handle;
public HandleThread(Handle h){
this.handle=h;
}
public void run(){
Message msg=handle.getNext();

while(msg!=null){

myHandle(msg);
msg=handle.getNext();
}
}

private boolean myHandle(Message msg){
//在这里写你要对数据库进行的操作。调用MessageDao里面的方法
}
}

Hanlde.java
public class Handle{
private ArrayList<Message> list=new ArrayList<Message>();

public int next=0;
public void initList(){

//在这里,调用list.add(Message);的方法,把你需要进行批处理的Message放进去
}

private synchronized Message getNext(){

if(next>=list.size()) return null;
next++;
return list.get(next-1);
}//同步,防止多次处理

public void handle(){

next=0;
initList();
int threadQuantity=3;//定义处理的线程个数
for(int i=0;i<threadQuantity;i++){
new Thread(new HandleThread(this)).start();
}
}//开始处理

public static void main(String args[]){

new Handle().handle();
}
}

//有什么不懂的就追问吧。。

④ spring batch 适用于多线程吗

Spring Batch是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统。Spring Batch以POJO和大家熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。SpringBatch可以提供大量的,可重复的数据处理功能,包括日志记录/跟踪,事务管理,作业处理统计工作重新启动、跳过,和资源管理等重要功能。

⑤ 多线程和批处理的区别有哪些

多线程是一次同时运行多个命令,就像电路中的并联。
批处理是一次运行多个命令,但每个命令按顺序逐一执行,不是同时,就像电路中的串联。

⑥ 怎么加快批处理的运行速度

如果您的%%i值,只是一个内容的话,那么我觉得您第二个for命令有点多此一举。

其实bat处理大数据文件,就是有点力不从心。没办法。

建议您把s1.txt分割成几个文件,然后多个脚本针对分割出来的文件,进行独立处理,同时执行。最后把结果的文件合并。

⑦ 批处理操作系统支持多进程或者多线程吗

不支持 ,就是顺序的一个一个的程序执行。

⑧ 能介绍一下,Java开源的第三方多线程批处理框架吗

1、修改项目名称:在Eclipse中选中项目,按下F2键,输入新名称即可。2、修改Context:在Eclipse中选中项目,按下Alt+Enter键打开属性窗口,在右侧找到WebProjectSettings属性,然后输入新的ContextRoot即可。

⑨ 如何让批处理实现(伪)多线程同时运行多条命令

我们知道,MS-DOS或者是纯DOS下的命令,都是单线程的。 尤其在MS-DOS中,我们经常把多条命令,放到一个BAT批处理文件中,这样,可以省去我们输入命令的麻烦。 然而,较为致命的一个弱点是,MS-DOS是单线程的。 一、MS-DOS单线程的缺点 缺点一:按顺序运行命令 按顺序运行命令,并且同一时间只能运行一个命令; 缺点二:命令执行需等待 第一个命令执行完毕,无论是成功或者失败;才会轮到第二个命令的执行;以这样的方式来运行,势必会浪费很多时间,尤其是某个命令执行不成功的时候,会等待很长一段时间,让后面的命令无法运行。如果有多个命令执行失败,那么,该BAT的总体运行时间,会比原来消耗至多倍时间。 二、MS-DOS多线程的实现 本例所说的“多线程”,并非真正意义上的多线程;而是一种伪多线程。但是,这种伪多线程,所起到的作用和真的多线程,效果完全一致。 实现原理: 让多个命令分别通过多个MS-DOS窗口来单独运行。这样,每个命令的执行时间和执行结果,都不会受到其它命令的影响。 三、伪多线程的实例 下面,以机房管理为实例,给大家详细介绍伪多线程的实现方法。 假如,一间机房有60台计算机,现在,我们通过其中的一台计算机,将某个文件夹下的所有文件,分别发送到另外的59台计算机。 以下是最基本的命令: net use \\192.168.0.2\C$ "密码" /user:"用户名" >nul X D:\MySendFiles\*.* \\192.168.0.2\C$ /s /e /y net use \\192.168.0.2\C$ /delete >nul exit 以上代码,是针对一台计算机所使用的批处理命令。 如果要向59台发送文件,得使用for循环,如下代码: @echo off for /L %%A in (2,1,60) do net use \\192.168.0.%%A\c$ "密码" /user:"administrator" >nul for /L %%B in (2,1,60) do X D:\MySendFiles\*.* \\192.168.0.%%B\c$ /s /e /y for /L %%C in (2,1,60) do net use \\192.168.0.%%C\c$ /delete >nul exit 可以说,如上代码已经比较完美了,但是,仍然存在问题。 如果这59台计算机当中,有10台左右网络不正常,那么,如上循环的代码中,就有10次代码运行的等待,会浪费很多时间。 如果想让上述代码在执行时间上更效益,那么,我们可以走这样一条路,即让分别发送文件至59台计算机的命令,单独通过MS-DOS窗口来运行,这样,在分别向每台计算机发送文件的时候,相互之间不会受到影响。 综上所述,我们要做的伪多线程批处理,应该是这样的: 首先,我们建立两个批处理文件,一个名为1.bat,另外一个文件为2.bat; 1.bat文件代码如下: for /l %%i in (2,1,60) do start 2.bat 192.168.0.%%i 2.bat文件代码如下: @echo off net use \\%1\C$ "密码" /user:"用户名" >nul X D:\MySendFiles\*.* \\%1\C$ /s /e /y exit 在使用的时候,直接双击1.bat文件,一切就OK了。 注意,1.bat中的代码:for /l %%i in (1,1,6) do start 2.bat 192.168.0.%%i,其中的start 2.bat 正是调用2.bat文件的精髓。而后面的192.168.0.%%i则是传递的参数。 很多地方曾讲到,在一个批处理文件中调用另外一个批处理文件,使用 call 命令;然,该命令不会出现另外一个MS-DOS窗口;只有start 命令,才会出现另外的MS-DOS窗口,该start命令就是实现伪多线程的关键。 当然,上述的代码,所使用到的命令比较多,如果您不熟悉的话,请在本站参阅其它技术文章,以解阁下之迷惑。

⑩ 在bat脚本中如何实现ftp多任务同时下载,或者多线程下载

@echo off
setlocal enabledelayedexpansion
set ftpsvr=192.168.1.100
set downlist=a.rar b.rar c.rar
for %%i in (%d%) do (
set fn=ftp_%%i.txt
echo open %ftpsvr>!fn!
echo username>>!fn!
echo password>>!fn!
echo bin>>!fn!
echo get %%i>>!fn!
echo bye>>!fn!
start "ftp -s:!fn!")
del ftp_*.txt

热点内容
xboxone绝地求生怎么设置服务器 发布:2025-01-20 18:22:12 浏览:175
编译字母表 发布:2025-01-20 18:20:38 浏览:242
c语言输入日期计算天数 发布:2025-01-20 18:11:57 浏览:948
sql获取表的列名 发布:2025-01-20 18:11:54 浏览:860
不要做编程 发布:2025-01-20 18:11:02 浏览:154
安卓手机保存录音后保存在哪里 发布:2025-01-20 18:09:27 浏览:915
c语言100以内的素数之和 发布:2025-01-20 18:00:06 浏览:314
四川儿童医保卡原始密码是多少 发布:2025-01-20 17:55:32 浏览:309
材质包如何装服务器 发布:2025-01-20 17:44:24 浏览:530
幸运28源码免费 发布:2025-01-20 17:44:18 浏览:134