亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sem.c

?? 信號量的基本操作是我在學習linux編程時寫的
?? C
字號:

/**********************************************************************
*FileName: sem.c
*    
*Perpose : 通過信號量來同步進程,讓兩個進程分別輸出aaa bbb.
*          直到用戶按下Ctrl+C.這個程序的功能類似于Linus在
*          開始寫Linux時寫的第一個版本.不過Linux是在保護模
*          式下,通過時鐘中斷來實現的.這個程序只是通過操作系
*          統提供的system call來實現.所以很簡單!!!
* 
*Author  : 劉海洋
*Version : 2008-11-08 第一版
*
*Addition: 這里創建了一個信號量集,這個信號量集包含了一個信號量
*          并且信號量的最大值為1, 所以這里的信號量可以理解為互斥體
**********************************************************************/

#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <stdio.h>
#include <signal.h>
#include <stdlib.h>

#include <errno.h>

#define SEMPERM 0600   /* 八進制,所以前面的0不能省略 */

typedef union _semun
{
    int val;
    struct semid_ds *buf;
    ushort *array;
}semun;

/*
===============
 初始化信號量 
===============
*/
int initsem(key_t semkey)
{
    int status = 0;
    int semid; 
    
    /* 試著創建一個信號量 */
    semid = semget(semkey, 1, SEMPERM | IPC_CREAT | IPC_EXCL);
    if (semid == -1) /* 創建失敗 */
    {
        if (errno == EEXIST) /* 如果存在,試著獲取它 */
        {
            semid = semget(semkey, 1, 0);
        }
    }
    else /* 創建成功,則給信號量賦初值 */
    {
        semun arg;
        arg.val = 1;
        status == semctl(semid, 0, SETVAL, arg);
    }
    
    if (semid == -1 || status == -1)
    {
        perror("init semaphore failed!\n");
        exit(-1);
    }
    
    return semid;
}

/* 
=============
 信號量P操作 
=============
*/
int p(int semid)
{
    struct sembuf p_buf;
      
    p_buf.sem_num = 0;
    p_buf.sem_op  = -1;
    p_buf.sem_flg = SEM_UNDO;
    
    if (semop(semid, &p_buf, 1) == -1)
    {
        perror("semaphore p operation failed\n");
        exit(-1);
    }
    return 0;
}

/* 
=============
 信號量v操作 
=============
*/
int v(int semid)
{
    struct sembuf p_buf;
    
    p_buf.sem_num = 0;
    p_buf.sem_op  = 1;
    p_buf.sem_flg = SEM_UNDO;
    
    if (semop(semid, &p_buf, 1) == -1)
    {
        perror("semaphore v operation failed\n");
        exit(-1);
    }
    return 0;
}

/*
=============
 刪除信號量
=============
*/
int rmsem(int semid)
{
	semun sem;
	sem.val = 0;

    if (semctl(semid, 0, IPC_RMID, sem) == -1)
    {
        perror("remove semaphore failed\n");
        exit(-1);
    }
    return 0;
}

/* 
========================
 通過信號量同步循環輸出 
========================
*/
int printbysem(int semid, char *str)
{   
    while (1)
    {
        p(semid); /* Note */
        
        printf("%s", str);
        
        sleep(1);
        v(semid); /* Note */
        sleep(1);
    }
	return 0;
}

/*
==================================
 在sigint中刪除信號量時,需要指定ID 
==================================
*/
int g_sem_id = 0;

/* 
==============
 中斷信號處理 
==============
*/
void sigint(int signo)
{
	rmsem(g_sem_id);
	printf("\n");
	exit(0);
}

/*
===============
 Program Entry
===============
*/
int main(void)
{
    key_t sem_key = 0x200;
    int semid;
    
    setbuf(stdout, NULL); /* 設置輸入輸出緩沖為無緩沖 */
    
    switch (fork())
    {
        case -1: /* error */
            perror("create new process failed!\n");
            break;
            
        case 0:  /* child process */
        	semid = initsem(sem_key);
            printbysem(semid, "aaa");
            break;
        
        default: /* perant process */
        	g_sem_id = semid = initsem(sem_key);
        	signal(SIGINT, sigint);  /* 只有父進程注冊信號處理函數 */
            printbysem(semid, "bbb");
            break;
    }
    
    return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产人久久人人人人爽| 精品欧美乱码久久久久久| 国产酒店精品激情| 极品尤物av久久免费看| 日韩激情在线观看| 视频一区二区不卡| 玖玖九九国产精品| 国产在线精品一区二区三区不卡| 久久精品国产成人一区二区三区 | av网站免费线看精品| 国产成人aaaa| 色8久久精品久久久久久蜜 | 五月综合激情网| 天天做天天摸天天爽国产一区| 香蕉久久夜色精品国产使用方法| 五月天中文字幕一区二区| 日本91福利区| 国产精品538一区二区在线| 成人动漫中文字幕| 日本高清不卡视频| 日韩三级视频在线观看| 国产午夜精品福利| 亚洲激情在线激情| 麻豆91在线观看| www.亚洲色图.com| 制服.丝袜.亚洲.中文.综合| 欧美精品一区二区久久婷婷| 国产精品久久久久久福利一牛影视 | 欧美精品一区二区三区蜜臀| 国产精品麻豆一区二区| 亚洲一区二区三区国产| 老司机精品视频在线| av激情亚洲男人天堂| 欧美一区二区三区色| 国产精品久久三| 日韩高清一区在线| 91在线porny国产在线看| 制服丝袜日韩国产| 亚洲天堂网中文字| 久久99在线观看| 91九色02白丝porn| 国产喷白浆一区二区三区| 一区二区久久久久| 国产精品88av| 日韩欧美一级片| 一区二区三区在线视频观看| 国产精品中文欧美| 欧美精品xxxxbbbb| 一区二区三区在线视频免费| 国产69精品久久99不卡| 日韩一二三区不卡| 亚洲一区自拍偷拍| 成人国产亚洲欧美成人综合网| 精品福利av导航| 亚洲午夜视频在线观看| 成熟亚洲日本毛茸茸凸凹| 日韩手机在线导航| 亚洲观看高清完整版在线观看| 成人av在线网站| 国产三级欧美三级| 精品午夜久久福利影院| 69久久夜色精品国产69蝌蚪网| 亚洲同性gay激情无套| 国产福利一区二区三区| 精品成人在线观看| 美女尤物国产一区| 日韩一区二区三区免费看 | 亚洲自拍偷拍网站| 91猫先生在线| 亚洲欧美另类小说视频| 成人免费视频一区| 中文字幕免费不卡| 大胆亚洲人体视频| 日本一区二区在线不卡| 国产99久久久久| 国产日韩v精品一区二区| 国产一区二区久久| 国产亚洲一本大道中文在线| 91黄视频在线| 亚洲欧美成aⅴ人在线观看| 91一区二区在线观看| 亚洲男同性视频| 色天天综合色天天久久| 亚洲一区二区三区四区中文字幕| 色婷婷av一区二区三区软件| 亚洲一区视频在线观看视频| 欧美私模裸体表演在线观看| 香蕉成人伊视频在线观看| 欧美日韩日日夜夜| 另类专区欧美蜜桃臀第一页| 2021中文字幕一区亚洲| 国产成人av一区二区三区在线观看| 久久九九久久九九| 99久久久国产精品免费蜜臀| 亚洲午夜羞羞片| 日韩欧美一二区| 国产精品一品视频| 亚洲欧美偷拍另类a∨色屁股| 欧美丝袜丝交足nylons图片| 美国毛片一区二区| 国产精品三级av| 欧美区一区二区三区| 久久99国产乱子伦精品免费| 国产精品你懂的在线| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 亚洲国产日韩综合久久精品| 精品欧美乱码久久久久久| 99精品久久免费看蜜臀剧情介绍| 亚洲午夜三级在线| 久久久久综合网| 91激情五月电影| 国产麻豆欧美日韩一区| 亚洲自拍偷拍麻豆| 国产午夜亚洲精品理论片色戒 | 日韩一卡二卡三卡国产欧美| 国产**成人网毛片九色| 午夜婷婷国产麻豆精品| 久久精品欧美日韩精品| 欧美私模裸体表演在线观看| 国产二区国产一区在线观看| 亚洲成人精品一区| 国产精品美女一区二区三区| 91精品国产综合久久福利软件 | 亚洲综合久久av| 久久久精品国产免大香伊| 欧美日韩国产美| 99精品视频一区二区| 久久99精品久久久久久动态图| 亚洲国产视频在线| 亚洲黄一区二区三区| 久久九九全国免费| 欧美成人官网二区| 欧美精品在线视频| 色婷婷综合久久久中文字幕| 国产91露脸合集magnet| 激情六月婷婷综合| 日韩1区2区3区| 亚欧色一区w666天堂| 亚洲欧美日韩一区二区三区在线观看| 久久久亚洲精品一区二区三区| 欧美巨大另类极品videosbest | 亚洲一区二区三区四区五区中文| 国产女主播一区| 久久久蜜桃精品| 精品久久久久久亚洲综合网| 欧美日韩国产免费| 欧美日韩在线播放| 欧美日韩精品综合在线| 欧美伊人久久大香线蕉综合69 | 久久99精品久久久| 三级久久三级久久久| 日日摸夜夜添夜夜添精品视频 | 7777精品伊人久久久大香线蕉最新版 | 免费观看在线综合| 麻豆精品在线视频| 精品一区二区精品| 国产乱码精品一区二区三区忘忧草 | 亚洲一区中文日韩| 樱花影视一区二区| 亚洲成a人v欧美综合天堂| 亚洲一区二区欧美日韩 | 美女视频一区二区| 狠狠色综合日日| 国产一区二区三区四区五区入口 | 91丨九色丨尤物| 在线免费观看日本一区| 欧美亚洲动漫另类| 91精品视频网| 久久色在线观看| 国产精品另类一区| 亚洲综合色区另类av| 美女一区二区视频| 国产成人精品午夜视频免费| 91在线观看成人| 51精品秘密在线观看| 久久精品夜夜夜夜久久| 中文字幕一区二区三区在线播放| 亚洲免费色视频| 免费成人在线视频观看| 国产精品自在欧美一区| 91搞黄在线观看| 欧美一级理论片| 中文字幕在线一区免费| 亚洲成人福利片| 国产成人午夜精品5599| 色哟哟在线观看一区二区三区| 欧美区一区二区三区| 中文字幕av一区二区三区 | 欧美一区二区成人6969| 欧美激情在线一区二区三区| 亚洲国产欧美日韩另类综合 | 亚洲视频资源在线| 蜜臂av日日欢夜夜爽一区| 成人高清免费在线播放| 欧美疯狂性受xxxxx喷水图片| 国产日韩欧美麻豆| 午夜激情久久久| va亚洲va日韩不卡在线观看| 日韩亚洲电影在线| 亚洲永久精品国产|