Ⅰ c語言程序設計視頻教程
鏈接:
提取碼: gfdg
C語言程序設計:
Ⅱ 求一套C語言編程的視頻教程
C語言程序設計
提取碼:8uar復制這段內容後打開網路網盤手機APP,操作更方便哦!
若資源有問題歡迎追問~
Ⅲ c語言如何編寫一個簡單的多線程程序
這是一個多線程例子,裡面只有兩個線程,是生產者/消費者模式,已編譯通過,注釋很詳細,x0dx0a如下:x0dx0ax0dx0a/* 以生產者和消費者模型問題來闡述Linux線程的控制和通信你 x0dx0a 生產者線程將生產的產品送入緩沖區,消費者線程則從中取出產品。x0dx0a 緩沖區有N個,是一個環形的緩沖池。x0dx0a */x0dx0a#include x0dx0a#include x0dx0ax0dx0a#define BUFFER_SIZE 16x0dx0ax0dx0astruct prodconsx0dx0a{x0dx0a int buffer[BUFFER_SIZE];/*實際存放數據的數組*/x0dx0a pthread_mutex_t lock;/*互斥體lock,用於對緩沖區的互斥操作*/x0dx0a int readpos,writepos; /*讀寫指針*/x0dx0a pthread_cond_t notempty;/*緩沖區非空的條件變數*/x0dx0a pthread_cond_t notfull;/*緩沖區未滿 的條件變數*/x0dx0a};x0dx0ax0dx0a/*初始化緩沖區*/x0dx0avoid pthread_init( struct prodcons *p)x0dx0a{x0dx0a pthread_mutex_init(&p->lock,NULL);x0dx0a pthread_cond_init(&p->notempty,NULL);x0dx0a pthread_cond_init(&p->notfull,NULL);x0dx0a p->readpos = 0;x0dx0a p->writepos = 0;x0dx0a}x0dx0ax0dx0a/*將產品放入緩沖區,這里是存入一個整數*/x0dx0avoid put(struct prodcons *p,int data)x0dx0a{x0dx0a pthread_mutex_lock(&p->lock);x0dx0a /*等待緩沖區未滿*/x0dx0a if((p->writepos +1)%BUFFER_SIZE ==p->readpos)x0dx0a {x0dx0a pthread_cond_wait(&p->notfull,&p->lock);x0dx0a }x0dx0a p->buffer[p->writepos] =data;x0dx0a p->writepos++;x0dx0a if(p->writepos >= BUFFER_SIZE)x0dx0a p->writepos = 0;x0dx0a pthread_cond_signal(&p->notempty);x0dx0a pthread_mutex_unlock(&p->lock);x0dx0a}x0dx0a/*從緩沖區取出整數*/x0dx0aint get(struct prodcons *p)x0dx0a{x0dx0a int data;x0dx0a pthread_mutex_lock(&p->lock);x0dx0a /*等待緩沖區非空*/x0dx0a if(p->writepos == p->readpos)x0dx0a {x0dx0a pthread_cond_wait(&p->notempty ,&p->lock);//非空就設置條件變數notemptyx0dx0a }x0dx0a /*讀書據,移動讀指針*/x0dx0a data = p->buffer[p->readpos];x0dx0a p->readpos++;x0dx0a if(p->readpos == BUFFER_SIZE)x0dx0a p->readpos = 0;x0dx0a /*設置緩沖區未滿的條件變數*/x0dx0a pthread_cond_signal(&p->notfull);x0dx0a pthread_mutex_unlock(&p->lock);x0dx0a return data;x0dx0a}x0dx0a /*測試:生產站線程將1 到1000的整數送入緩沖區,消費者線程從緩沖區中獲取整數,兩者都列印信息*/x0dx0a#define OVER (-1)x0dx0astruct prodcons buffer;x0dx0avoid *procer(void *data)x0dx0a{x0dx0a int n;x0dx0a for( n=0;n<1000;n++)x0dx0a {x0dx0a printf("%d ------>\n",n);x0dx0a put(&buffer,n);x0dx0a }x0dx0a put(&buffer,OVER);x0dx0a return NULL;x0dx0a}x0dx0avoid *consumer(void *data)x0dx0a{x0dx0a int d;x0dx0a while(1)x0dx0a {x0dx0a d = get(&buffer);x0dx0a if(d == OVER)x0dx0a break;x0dx0a elsex0dx0a printf("----->%d\n",d);x0dx0a }x0dx0a return NULL;x0dx0a}x0dx0aint main()x0dx0a{x0dx0a pthread_t th_p,th_c;x0dx0a void *retval;x0dx0a pthread_init(&buffer);x0dx0a pthread_create(&th_p,NULL,procer,0);x0dx0a pthread_create(&th_c,NULL,consumer,0);x0dx0a /*等待兩個線程結束*/x0dx0a pthread_join(th_p, &retval);x0dx0a pthread_join(th_c,&retval);x0dx0a return 0;x0dx0a}
Ⅳ 求C語言編程全套視頻教程!有的說下!
114 編程(更新)
鏈接: https://pan..com/s/1bfrvxnsc5KJgKr32rnNNtg
?pwd=mp1i 提取碼: mp1i
程序化思維
編程
Ⅳ 求譚浩強c語言程序設計視頻教程打包下載
鏈接:
提取碼:f1bt
譚浩強老師C語言視頻教程是2007年5月17日發布的網路課程,參考於C語言程序設計。C語言程序設計作為大學理工課大一下學期必修的課程,學習該課程並不是要求大家能用C設計一個復雜的程序,最主要是掌握一種結構化設計的編程思想,對編程不再恐懼陌生,該課程的知識點的講解通俗易懂,使即使沒有任何基本的朋友也可以很好的掌握。學完本課程後對後繼的編輯語言的學習將會有很大的幫助!
Ⅵ 求好的c語言程序設計視頻教程
C語言程序設計
提取碼:8uar復制這段內容後打開網路網盤手機APP,操作更方便哦!
若資源有問題歡迎追問~