APUE学习笔记-竞争条件演示

#include "myapue.h"

static void charatatime(char *str);

int main(void)
{
	pid_t pid;

	if((pid = fork()) < 0)
		err_sys("fork error");
	else if(pid == 0)
		charatatime("output from child\n");
	else 
		charatatime("output from parent\n");
	exit(0);
}

static void charatatime(char *str)
{
	char *ptr;
	int c;

	setbuf(stdout, NULL);
	for(ptr = str; (c = *ptr++) != 0;)
		putc(c, stdout);
}

(1)<117>

setbuf函数:更改流的缓冲类型。

    一定要在流已被打开后调用,也应该在对该流执行任何一个其他操作之前调用。

    第二个参数设置为NULL时,关闭缓冲。

(2)

fork函数产生竞争条件演示。本例的目的是使内核尽可能多次地在两个进程之间进行切换,以演示竞争条件。

你可能感兴趣的:(APUE学习笔记-竞争条件演示)