国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

linux c多線程編程實例代碼

2020-01-26 15:42:06
字體:
來源:轉載
供稿:網友

直接看代碼吧,代碼里有注釋

復制代碼 代碼如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <pthread.h>
#include <time.h>
#define MAX 3

int number =0;
pthread_t id[2];
pthread_mutex_t mut; //初始化靜態互斥鎖

void thread1(void)
{
    int i;
    printf("Hello,I am pthread1!/n");
    for (i=0; i<MAX; i++)
    {
        pthread_mutex_lock(&mut);  //此處上鎖,保證number的唯一性
            number ++;  
            printf("Thread1:number = %d/n",number);
        pthread_mutex_unlock(&mut);
        sleep(1);  //linux c下 sleep(minute),里面變量單位是分鐘
    }
    pthread_exit(NULL); //線程通過執行此函數,終止執行。返回是一個空指針類型
}

void thread2(void)
{
    int j;
    printf("Hello,I'm pthread2/n");
    for(j=0; j<MAX; j++)
    {
        pthread_mutex_lock(&mut);
             number ++;
             printf("Thread2:number = %d/n",number);
        pthread_mutex_unlock(&mut);
        sleep(1);
    }
    pthread_exit(NULL);
}

void thread_create(void)
{
    int temp;
    memset(&id, 0, sizeof(id));
if(temp = pthread_create(&id[0], NULL, (void *)thread1, NULL)!= 0)
                          //參數:線程標識符指針 線程屬性  線程運行函數起始地址  運行函數屬性
                          //創建成功返回 0
        printf("Thread 1 fail to create!/n");
    else
        printf("Thread 1 created/n");
    if(temp = pthread_create(&id[1], NULL, (void *)thread2, NULL)!= 0)
        printf("Thread 2 fail to create!/n");
    else
        printf("Thread 2 created!/n");
 }  
void thread_wait()
{
    if(id[0] != 0)
    {
        pthread_join(id[0], NULL); //等待線程結束,使用此函數對創建的線程資源回收
        printf("Thread1 completed!/n");
    }
    if(id[1] != 0)
    {
        pthread_join(id[1], NULL);
        printf("Thread2 completed!/n");
    }
}
int main(void)
{
int i,ret1,ret2;
pthread_mutex_init(&mut, NULL); //動態互斥鎖
    printf("Main fuction,creating thread.../n");
    thread_create();
    printf("Main fuction, waiting for the pthread end!/n");
    thread_wait();
    return (0);
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 台北市| 杂多县| 姚安县| 和硕县| 嘉禾县| 安国市| 来宾市| 潞西市| 资中县| 札达县| 杭锦后旗| 古田县| 衡山县| 长兴县| 肃北| 刚察县| 安龙县| 汤阴县| 会昌县| 托里县| 东港市| 若尔盖县| 许昌市| 金乡县| 山西省| 浦东新区| 罗甸县| 繁峙县| 北宁市| 新河县| 咸宁市| 明溪县| 镇江市| 西贡区| 绍兴县| 无为县| 沁阳市| 合江县| 通道| 通道| 百色市|