最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linux c多線程編程實例代碼

 更新時間:2013年11月20日 16:03:17   作者:  
這篇文章主要介紹了linux系統(tǒng)中的c多線程編程實例,大家可以參考使用以下代碼

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

復(fù)制代碼 代碼如下:

#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; //初始化靜態(tài)互斥鎖

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); //線程通過執(zhí)行此函數(shù),終止執(zhí)行。返回是一個空指針類型
}

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)
                          //參數(shù):線程標(biāo)識符指針 線程屬性  線程運行函數(shù)起始地址  運行函數(shù)屬性
                          //創(chuàng)建成功返回 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); //等待線程結(jié)束,使用此函數(shù)對創(chuàng)建的線程資源回收
        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); //動態(tài)互斥鎖
    printf("Main fuction,creating thread...\n");
    thread_create();
    printf("Main fuction, waiting for the pthread end!\n");
    thread_wait();
    return (0);
}

相關(guān)文章

  • Qt地圖自適應(yīng)拉伸的實現(xiàn)示例

    Qt地圖自適應(yīng)拉伸的實現(xiàn)示例

    最近需要寫一個程序,要是讓qt到程序自適應(yīng),本文主要介紹了Qt地圖自適應(yīng)拉伸的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 詳解C++-(=)賦值操作符、智能指針編寫

    詳解C++-(=)賦值操作符、智能指針編寫

    C++的智能指針是克服C++大坑的非常有用的的手段,之所以說它智能,是因為它為程序員克服了重要的編程問題——懸掛指針,下面通過本文給大家分享C++-(=)賦值操作符、智能指針編寫,感興趣的朋友一起看看吧
    2018-03-03
  • C語言背包問題求解全過程(貪心方法)

    C語言背包問題求解全過程(貪心方法)

    背包問題是一個經(jīng)典的動態(tài)規(guī)劃問題,而貪心算法是一種常用的解決背包問題的方法,這篇文章主要給大家介紹了關(guān)于C語言背包問題求解(貪心方法)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • C++ string字符串的修改與替換方法詳析

    C++ string字符串的修改與替換方法詳析

    這篇文章主要給大家介紹了關(guān)于C++ string字符串修改與替換方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • C語言責(zé)任鏈模式示例代碼

    C語言責(zé)任鏈模式示例代碼

    大家好,本篇文章主要講的是C語言責(zé)任鏈模式示例代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • C語言實現(xiàn)萬年歷程序

    C語言實現(xiàn)萬年歷程序

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)萬年歷程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 如何用C寫一個web服務(wù)器之I/O多路復(fù)用

    如何用C寫一個web服務(wù)器之I/O多路復(fù)用

    本文主要介紹了如何用C寫一個web服務(wù)器之I/O多路復(fù)用,本次選擇了 I/O 模型的優(yōu)化,因為它是服務(wù)器的基礎(chǔ),這個先完成的話,后面的優(yōu)化就可以選擇各個模塊來進(jìn)行,不必進(jìn)行全局化的改動了。
    2021-05-05
  • C++ std::list的merge()使用方式與分析

    C++ std::list的merge()使用方式與分析

    這篇文章主要介紹了C++ std::list的merge()使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • C++實現(xiàn)簡單插件機制原理解析

    C++實現(xiàn)簡單插件機制原理解析

    這篇文章主要介紹了C++實現(xiàn)簡單插件機制原理解析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • C語言線索二叉樹基礎(chǔ)解讀

    C語言線索二叉樹基礎(chǔ)解讀

    線索二叉樹還是按照鏈二叉樹的方法創(chuàng)建,只不過在結(jié)點原本為空的左指針改為指向該結(jié)點在中序遍歷中的前驅(qū),結(jié)點原本為空的右指針改為指向該結(jié)點在中序遍歷中的后繼,也就是說把空的指針給利用了起來
    2022-04-04

最新評論

宣恩县| 濉溪县| 宜都市| 财经| 安徽省| 连南| 彰化县| 土默特右旗| 金沙县| 宾川县| 富源县| 德阳市| 津市市| 宁阳县| 法库县| 息烽县| 当涂县| 潼关县| 南部县| 西平县| 屏东县| 盐边县| 武邑县| 连平县| 南通市| 桐梓县| 漠河县| 会东县| 孟村| 沂南县| 凯里市| 和林格尔县| 綦江县| 临猗县| 大关县| 湘西| 兴安盟| 石渠县| 什邡市| 临邑县| 鄂温|