我编写了这个程序,其中一个线程获取 char* 缓冲区并将它们写入创建如下的管道:
ret_val = mkfifo(lpipename.c_str(), 0666);
pipehandler = open(lpipename.c_str(), O_RDWR);
然后我一个接一个地向管道写入缓冲区,如下所示:
int size = string(pcstr->buff).length()
numWritten = write(pipehandler, pcstr->buff, size);
每个 pcstr->buff 是一个指向预先配置大小为 1-5 MB 的 malloc 大小的指针
但是,写入 pipe 比填充 pcstr->buff (来自另一个来源)花费的时间太长,并且它使我的程序运行速度太慢。
有人知道更快的写作方法吗?
谢谢