Ⅰ 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,操作更方便哦!
若资源有问题欢迎追问~