ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

多线程编程

2022-05-07 14:36:41  阅读:122  来源: 互联网

标签:七个 老大 编程 打字 老二 你们 多线程


今天在学习多线程编程,自我总结一下

前景知识,你妈生了你们兄弟七个,你们兄弟七个都很爱玩(生了几个不是重点啊,重点是生了不止一个)

1. 多线程的特点

* 无序完成 

就跟你妈放你们兄弟七个出去玩,谁先回家是不一定的。这就是多线程,一块出去玩。

* 并行

跟串行最大的区别就是,你们兄弟七个可以一起出去玩,而不是让你们一个玩完回来另一个才能出去。

 

2. 多线程的注意要点

* 数据竞争

你们兄弟七个手里都拿着一个量子手机,都可以使用这个手机打字,那老大打字的时候 老二也用,那打出来的字就乱了。为什么会乱呢,因为我们知道打一个汉字需要好几个拼音,假如老大想打一个“我”字,老二想打一个“你”字,老大刚按下w,还没按o呢,老二就按了n,那这样自然就乱咯。究其原因就是这个打字的操作不具有“原子性”,就是它可以被打断。如果说老大想打一个“哦”那就肯定会成功拉,因为就一个拼音嘛,打完个o就结束了,你老二拿什么打断我。

有三种数据是线程间共享的,分别是:全局变量、静态变量和共享指针。

这时候老大急了,正给女朋友发短信呢,老二给我打断了。那就得保证老大打字的时候老二不能干涉,就相当于给手机加了个锁,老大打完了再给老二用。就这样大家都能自由而正确的使用手机打字啦。

 

这时候老七急了,niemama的,你们一个个排队打完字了,我就轮到最后了,原本我是能和你们一起打字的,现在就沦落了?我不重要了呗?

得改。

好吧我编不下去了。

 

3. 常用的锁

* mutex互斥锁,就是一个干的时候另一个等着。

* lock_guard 不用显示的去锁,只在作用域内起作用,就跟局部变量一样

标签:七个,老大,编程,打字,老二,你们,多线程
来源: https://www.cnblogs.com/kenor/p/16242344.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有