复杂的心情

多线程编程之线程同步互斥量

 Pthread是 POSIX threads 的简称,是POSIX的线程标准

Pthread线程同步指多个线程协调地,有序地同步使用共享资源【C/C++多线程编程之五】pthread线程深入理解中讲述到,多线程共享进程资源,一个线程访问共享资源需要一段完整地时间才能完成其读写操作,如果在这段时间内被其他线程打断,就会产生各种不可预知的错误。协调线程按一定的规则,不受打扰地访问共享资源,保证正确性,这便是线程同步的出发点。

       互斥量,是最简单的线程同步机制,也是最常用的同步策略。

       

1.互斥量mutex

互斥量是一种线程同步对象,“互斥”的含义是同一时刻只能有一个线程获得互斥量。一个互斥量对应一个共享资源,互斥量状态:1.解锁状态意味着共享资源可用,2.加锁状态意味着共享资源不可用。

一个线程需要使用共享资源时,使用thread_mutex_lock申请:1.当互斥量为解锁状态,则占用互斥量,并给互斥量加锁,占用资源(互相量为加锁状态,其他线程不能使用互斥量并等待互斥量变为解锁状态),2.如果互斥量为加锁状态,则线程等待,直到互斥量为解锁状态(其他线程使用完共享资源后会解锁互斥量,释放资源)。

 
      2.互斥量基本函数
 
      

 
      #include <pthread.h>

初始化互斥量:

int pthread_mutex_init(pthread_mutex *mutex,

const pthread_mutexattr_t* mutexattr);

 
      该函数第一个参数为一个互斥量指针,第二个参数为互斥量属性指针(一般设为NULL)。该函数将按照互斥量属性对互斥量进行初始化。

互斥量加锁:

 
      int pthread_mutex_lock(pthread_mutex *mutex);

 
      该函数申请一个互斥量并对其进行加锁,使该互斥量对其他线程不可用,让其他申请互斥量的线程等待。

互斥量解锁:

int pthread_mutex_unlock(pthread_mutex *mutex);

 
      该函数对互斥量进行解锁操作,使该互斥量对其他线程可以。

销毁互斥量:

int pthread_mutex_destroy(pthread_mutex *mutex);

 
      该函数销毁一个不再需要的互斥量,释放系统资源。

 3.牛刀小试

线程My_thread_1将共享资源字符串Share写成aaaaaaaa,线程My_thread_2则将其写成eeeeeeee。

       不启用互斥量的情况下,两个线程对共享资源的访问是随机并且无规律,相互干扰打断,产生a和e混合的字符串,这显然不是我们期望的结果。

       启用互斥量(去掉注释)情况下,互斥量机制其作用,两个线程同步协调地访问共享资源Share,产生aaaaaaaa或eeeeeeee字符串,符合我们的预期。 

         通过该示例,读者可以直观地感受到互斥量的作用,亲身体会互斥量机制,同时能让读者了解互斥量的内在原理。

复杂的心情,布布扣,bubuko.com

时间: 2024-10-19 00:52:07

复杂的心情的相关文章

心情一则

今天是二零一六年九月二十一日,今天早上我吃了两个饼子,一碗小米粥.中午吃了四元钱的饼子,喝了一碗粥.晚上吃了一碗牛肉拉面.晚上写了综合素质测评,写了三好申请和奖学金申请.好久没有写过心情日记了,今天突然有种想写点东西的感觉.真的好想写点什么,最近总感觉“不太好”.自己压力有点大,哎哎. 每天学学英语,刷刷程序,看看算法,总感觉时间不够用,英语不好学啊,慢慢来吧,这个学期的课程,除了操作系统其他的感觉没有压力,当然还要除去计算机英语. 加油,努力吧! GOOG night!

这天的心情

今天的天气很好~ 而我的心情却不怎么好...... 我希望能够下一场雨来浇灌我糟透了的心情: 我希望蓝天白云能够组合成各种形状来分散我的注意力: 我希望路边的花朵能够吸引鸟儿的欢叫,让我不再沉迷于自我......

郁闷心情——电话聊天排解法

昨天下午的心情非常的糟糕,就像北京的天气一样,阴霾霭霭,没有蓝天,没有白云,没有微风,甚至连亲爱的太阳都看不到.当然,我的自我调节能力还是有的,我不希望他人的负面情绪影响到我,我不希望自己传递出去的是一些负面的信息,我也更不希望重复犯同样的错误或者总是受他人的掣肘.所以,我提醒自己要不断的学习,不断的提升和完善自我,虽然,我也觉得自己不是一个特别聪明的人,不过每天进步一点点,坚持下去,持续不断的进步,至少能够不断的超越自我也是一件极为开心的事情. 事情是这样的,我现在的工作是比较杂的,有三四个项

像写诗一样写代码,玩游戏一样的开心心情,还能领工资!

[软]上海-Qt侠 2017/7/12 16:11:20我完全是兴趣主导,老板不给我钱,我也要写好代码!白天干,晚上干,周一周五干,周末继续干!编程已经深入我的基因,深入我的骨髓,深入我的灵魂!当我解决一个程序问题,比别人玩王者荣耀拿了第一名还开心!你要想想,能干自己感兴趣的事情,像写诗一样写代码,玩游戏一样的开心心情,还能领工资!真他妈爽!没有比这个更爽的事情!

好朋友的小姨,希望一起帮助下度过难关,方便的话请帮忙转发一下,谢谢。————————心情记录

好朋友的小姨,希望一起帮助下度过难关,方便的话请帮忙转发一下,谢谢. https://ssl.gongyi.qq.com/m/weixin/ws_detail.html?from=timeline#pid=E80BFC9CDF13A1143B0B80C164ED4C27&share=yes 之前身边的几个亲戚,似乎知道的时候是已离去了,现在的这是时候似乎却更让我揪心,似乎爸妈以i西安也并不怎么轻松,似乎GM,GF,B的离去并没有太难过,只是当时心情比较压抑,现在聚少离多,还是珍惜现在有的机会吧.

迷茫和心情

2016年5月27号(心情很沉重) 今天又是一次从学习的地方回到住处,几乎是一样的时间一样的场景,回到住的地方,自己煮一碗面条,一个鸡蛋 ,这就是晚餐了,这样的晚餐都不知道 有多少天了,我也不知道要过多少天这样的日子,这真的是自己想要的生活嘛? 13年东莞在厂里打工 下完班吃饭回住的地方打游戏睡觉 上班,当时也这样问过自己,自己到底追求什么?一晃毕业两年多了,还是身无分文,单身一个 现在越来越不敢面对生活了,家里的父母,亲戚,面临的最大问题就是自己还没有成家,已经是家里面的人家的饭后谈资,丢了家

心情日记app总结 数据存储+服务+广播+listview+布局+fragment+intent+imagebutton+tabactivity+美工

---恢复内容开始--- 结果截图如下: 第一张图是程序主界面,主要是显示记事列表的一些个事件.旁边的侧拉框是自己登陆用的.可以设置密码.可以查看反馈与关于等信息. 点击第一张图片下方的图标,会显示不同的内容,分别如下: 这四张图分别是添加心情,统计心情记录,设置闹铃,开启音乐.分别对应  添加心情模块.统计心情记录模块.铃声提醒模块.音乐播放器模块 按我的想法,此款app主要用来记录心情,而且可以边播放音乐边写日志.而且,还可以通过闹铃提醒我们写日志.而且,还可以统计我们最近的心情状态,为及时

离婚的岁月的心情,离婚安慰的话

离婚的岁月不堪回首 人生总有一段不远提及的往事,或是开心的或是悲伤的,但能让你刻骨铭心的大多数是那些刺痛心灵的悲伤故事,现在回想起以前的那段阴暗的时光,心情也会一下跌入谷底,两年的时间其实也慢慢地走出来了,人有一段时间最痛苦的莫过于自己的婚姻,婚姻最痛苦的是那些年信誓旦旦的说有陪你到老的那个人,在某一天却亲口对你说,我不能陪你到最后了,我们离婚吧.时间过去这么久了,今天终于可以静下心来说说以前的故事,算是一段回忆,无法从脑海里抹去,就也想把它记录下来,永远的留在这个浩瀚的网络里,或许多年以后你还

心情不好

记录一下此时的一些感受. 一个很窸窣平常的周末,一个人在房间里呆了一天. 莫名的心情不好. 原因的话,自己也不是很清楚. 也许是昨天又一次见到杨显,也许是一整天阴雨在烘托些什么,也许是一个人周末在房间里无精打采. 然后呢,本来是想趁着周末再来温习下项目,能更好更快的打理好项目. 打开了电脑,却看不下去. 现在又听起了音乐,很温暖很舒缓的节奏,很容易会让人流连陷入到一些往事的片段中间去. 可是我能做的是把握好现在,放眼未来. 所以,不要再过多的回忆起往事. 勉励自己.