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函數:更改流的緩衝類型。code

    必定要在流已被打開後調用,也應該在對該流執行任何一個其餘操做以前調用。
進程

    第二個參數設置爲NULL時,關閉緩衝。
it

(2)class

fork函數產生競爭條件演示。本例的目的是使內核儘量屢次地在兩個進程之間進行切換,以演示競爭條件。im

相關文章
相關標籤/搜索