当前位置: 技术问答>linux和unix
命名管道的通信效率的测试
来源: 互联网 发布时间:2017-05-01
本文导语: write.c #include #include #include #include #include #include #include #include #include #include #define FIFO_NAME "/tmp/my_fifo" #define BUFFER_SIZE PIPE_BUF //4096 #define TEN_MEG (1024 * 1024 * 1) //决定每次循环传输数据的大小 void* thread_ti...
write.c
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define FIFO_NAME "/tmp/my_fifo"
#define BUFFER_SIZE PIPE_BUF //4096
#define TEN_MEG (1024 * 1024 * 1) //决定每次循环传输数据的大小
void* thread_tick(void* arg) //用来测试管道会不会阻塞进程
{
printf("hello, world!n");
sleep(1);
}
void* thread_write(void* arg)
{
int pipe_fd;
int res;
int bytes_sent = 0;
char buffer[BUFFER_SIZE ];
int count=0; //决定总共循环多少次
if (access(FIFO_NAME, F_OK) == -1) {
res = mkfifo(FIFO_NAME, 0777);
if (res != 0) {
fprintf(stderr, "Could not create fifo %sn", FIFO_NAME);
exit(EXIT_FAILURE);
}
}
while(count