system()Mac上的函数不支持多线程?

时间:2011-12-05 05:20:49

标签: macos darwin

我尝试通过Mac上的system()函数创建一些线程来ping不同的服务器。代码如下所示:

sprintf(str,"#!/bin/sh\n ping -c 3 -t 3 -o %d.%d.%d.%d \n",dataIP1[0],dataIP1[1],dataIP1[2],dataIP1[3]);
int ret =system(str);  

但是我发现如果服务器不可用,那么最后一个线程必须花费超过3秒来ping这个服务器,即使这个服务器可用。所以我想system()函数不支持多线程。看起来里面有一个储物柜,所以即使你在同一时间在不同的线程中调用它,它也只能逐个完成。

这是对的吗?

0 个答案:

没有答案