在启动多线程对一个网段执行ping命令时,当线程数开到200以上,就很容易报如下异常:
引用
java.io.IOException: Cannot run program "ping": CreateProcess error=8, ?洢???×???¨???í
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at pingTest.SynPingTest.run(SynPingTest.java:68)
Caused by: java.io.IOException: CreateProcess error=8, ?洢???×???¨???í
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 5 more
不知道为什么,是jvm不能同时执行多个process,还是不能同时执行多个ping命令?
贴上代码:
package pingTest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class SynPingTest extends Thread
{
protected static Runtime rt = Runtime.getRuntime();
private int ip = 1;
public SynPingTest(int i)
{
this.ip = i;
}
/**
* @param args
*/
public static void main(String[] args)
{
for (int i = 0; i <= 200; i++)
{
SynPingTest spt1 = new SynPingTest(i);
spt1.start();
SynPingTest spt2 = new SynPingTest(i);
spt2.start();
/*try
{
sleep(100);
}
catch (InterruptedException e)
{
}*/
}
}
@Override
public void run()
{
Process p = null;
try
{
String ipAddr = "192.168.0." + ip;
p = rt.exec("ping -a -w 300 -n 10 " + ipAddr);
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(p.getInputStream()));
String s = null;
while ((s = bufferedReader.readLine()) != null)
{
if (!"".equals(s))
{
if (s.indexOf("数据包") > -1 || s.indexOf("最短") > -1) {
System.out.println(ipAddr + " " + s);
}
}
}
p.destroy();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if(p!=null)
p.destroy();
}
}
}
分享到:
相关推荐
- `#pragma omp parallel`定义了一个并行区域,该区域内可以创建多个线程来执行并行任务。 - 可以附加子句来进一步控制并行行为,例如`num_threads`用于指定线程数量。 **4. for指令的使用方法:** - `#pragma ...
在arcgis开发者官网下载的rumtime 100.11.2开发包java版本,由于官网抽风经常上不去,我下载了上传造福大家
Go语言的标准库里提供两种类型的计时器Timer和Ticker。Timer经过指定的duration时间后被触发,往自己的时间channel发送当前时间,此后...两种计时器都是基于Go语言的运行时计时器runtime.timer实现的,rumtime.timer
在arcgis开发者官网下载的rumtime 100.13.1开发包qt windows版本,由于官网抽风经常上不去,我下载了上传造福大家
在arcgis开发者官网下载的rumtime 100.11.2开发包qt windows版本,由于官网抽风经常上不去,我下载了上传造福大家
在arcgis开发者官网下载的rumtime 100.14.1开发包ios版本,由于官网抽风经常上不去,我下载了上传造福大家
在arcgis开发者官网下载的rumtime 100.13.2开发包ios版本,由于官网抽风经常上不去,我下载了上传造福大家
在arcgis开发者官网下载的rumtime 100.13.1开发包 .net版本,由于官网抽风经常上不去,我下载了上传造福大家
在arcgis开发者官网下载的rumtime 100.13.0开发包 .net版本,由于官网抽风经常上不去,我下载了上传造福大家
在arcgis开发者官网下载的rumtime 100.13.0开发包ios版本,由于官网抽风经常上不去,我下载了上传造福大家
在arcgis开发者官网下载的rumtime 100.11.2开发包 .net版本,由于官网抽风经常上不去,我下载了上传造福大家
在arcgis开发者官网下载的rumtime 100.11.2开发包ios版本,由于官网抽风经常上不去,我下载了上传造福大家
在arcgis开发者官网下载的rumtime 100.13.0开发包qt windows版本,由于官网抽风经常上不去,我下载了上传造福大家
在arcgis开发者官网下载的rumtime 100.11开发包,由于官网抽风经常上不去,我下载了上传造福大家
4. `jre\bin`下的`server`和`client`目录:包含不同JVM实现,服务器端JVM优化于多线程和大内存应用,客户端JVM适用于资源有限的设备。 5. `jre\lib`目录下的`rt.jar`:包含了Java标准类库的实现。 6. `jre\lib\ext`...
Vulkan是一个跨平台的2D和3D绘图应用程序接口(API),最早由科纳斯组织在2015年游戏开发者大会(GDC)上发表。
Codesys运行时是Codesys系统的核心部分,它允许用户在目标设备上执行编译好的控制程序。对于树莓派这样的嵌入式平台, Codesys运行时提供了在小型硬件上实现自动化控制的能力,这对于教育、实验或者低成本的自动化...
芯邦量产工具APTOOL,适用于2199, 2199C, 2199E, 2199EB, 2199ES, 2199S, 2199SC.部分量产需搭配UMPToolV7200,先APTOOL擦除量产信息后再用UMPToolV7200进行量产。
总之,C++结合ONNXRuntime部署YOLOv8模型涉及到模型加载、输入预处理、推理执行、输出后处理等多个环节。通过这种方式,你可以将训练好的YOLOv8模型集成到实时应用中,实现高效的目标检测功能。
ArcGIS基于Android最新开发工具v10.2.3