您所在位置: 网站首页 / Linux编程培训哪个好.docx / 文档详情
Linux编程培训哪个好.docx 立即下载
2025-08-25
约2.3万字
约38页
0
28KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

Linux编程培训哪个好.docx

Linux编程培训哪个好.docx

预览

免费试读已结束,剩余 33 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Linux编程培训哪个好

第一篇:Linux编程培训哪个好中国IT职业教育领先品牌精品课程全程面授Linux编程培训哪个好想知道Linux编程培训哪个好?先来了解一下什么是Linux编程吧!Linux编程,比需要了解线程的问题。线程间通信之信号量线程的信号量主要就是实现对公共资源的一种控制管理。当公共资源增加时,信号量的值增加;当公共资源减少时,信号量的值减少;只有信号量的值大于0时,才能访问信号量所代表的公共资源。其实功能和之前的ucos的信号量功能类似。线程信号量初始化sem_initintsem_init(sem_t*sem,intpshared,unsignedintvalue);功能介绍:该函数主要的功能是创建一个信号量,设置该信号量的值,并且设置信号量的使用范围。信号量创建成功后,可以对其进行加减操作。参数说明:千锋教育中国IT职业教育领先品牌精品课程全程面授第一个参数sem是一个指向信号量结构的指针,当信号量初始化成功后,可以的这个信号量指针进行加减操作;第二个参数表示信号量的共享属性,当其值不为0时,信号量可以在进程间共享,如果等于0,则只能在同一个进程中的多个线程间共享;第三个参数用于设置信号量初始化时候的值。2线程信号量增加函数sem_postintsem_post(sem_t*sem);功能介绍:该函数用于增加信号量的值,每次增加值为1。当有线程在等待该信号量,则等待信号量返回,不增加信号量的值。参数说明:sem参数是初始化时候创建的信号量结构体,用于记录信号量值得参数。3线程信号量减少函数sem_waitintsem_wait(sem_t*sem);功能介绍:该函数用于减少信号量的值,每次减少值为1。当信号量的值为0,则线程会阻塞一直等待信号量的值大于0为止,当值为0时,不在减少。参数说明:sem参数是初始化时候创建的信号量结构体。4线程信号量的销毁函数sem_destroyintsem_destroy(sem_t*sem);功能介绍:函数用于释放创建的信号量。千锋教育中国IT职业教育领先品牌精品课程全程面授参数说明:sem参数是初始化时候创建的信号量结构体。使用线程的信号量进行通信,可以有效的对线程资源进行合理的分配,同时可以使线程以一个合理的方式进行调度。下面的代码是一个小小的实例,用很常规的方法来使用信号量,当线程获得获得信号量之后,在处理完相应的操作之后会主动的释放掉信号量。其实可以根据信号量的wait和post自己设计使用信号量。不过需要注意的是在wait和post函数分开使用时,可能会因为线程优先级等问题,post和wait被调用的次数不是对等的,这时候这时候可能出现的问题是不可控的,在这种方式设计程序时,需要把大部分的情况考虑进去,当然可能出现的情况的种数也是从0到1质变,从1到n量变得过程。#include2#include3#include4#includesem_tsem;7intsemValue;8void*pthread_wait(void*argv)10{11while(1)千锋教育中国IT职业教育领先品牌精品课程全程面授{13sem_wait(&sem);14sem_getvalue(&sem,&semValue);15printf(“ThisisinphtreadWAITfunction!sem=%dn”,semValue);16sem_post(&sem);17sleep(1);18}19pthread_exit(“exitwaitpthread!n”);20}21void*pthread_post(void*argv)23{24while(1)25{26sem_wait(&sem);27sem_getvalue(&sem,&semValue);28printf(“ThisisinphtreadPOSTfunction!sem=%dn”,semValue);29sem_post(&sem);30sleep(1);31}千锋教育中国IT职业教育领先品牌精品课程全程面授pthread_exit(“exitpostpthread!”);33}34intmain(void)36{37pthread_tpt[2];38void*ret;39sem_init(&sem,0,2);41pthread_create(&pt[0],NULL,&pthread_wait,NULL);42pthread_create(&pt[1],NULL,&pthread_post,NULL);43pthread_join(pt[0],&ret);44printf(“returnvalue%s”,ret);45pthread_join(pt[1],&ret);46printf(“returnvalue%s
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

Linux编程培训哪个好

文档大小:28KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用