免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: bandaotidejia
打印 上一主题 下一主题

[C] 多线程中看不中用? [复制链接]

论坛徽章:
26
处女座
日期:2016-04-18 14:00:4515-16赛季CBA联赛之深圳
日期:2020-06-02 10:10:5015-16赛季CBA联赛之广夏
日期:2019-07-23 16:59:452016科比退役纪念章
日期:2019-06-26 16:59:1315-16赛季CBA联赛之天津
日期:2019-05-28 14:25:1915-16赛季CBA联赛之青岛
日期:2019-05-16 10:14:082016科比退役纪念章
日期:2019-01-11 14:44:062016科比退役纪念章
日期:2018-07-18 16:17:4015-16赛季CBA联赛之上海
日期:2017-08-22 18:18:5515-16赛季CBA联赛之江苏
日期:2017-08-04 17:00:4715-16赛季CBA联赛之佛山
日期:2017-02-20 18:21:1315-16赛季CBA联赛之天津
日期:2016-12-12 10:44:23
11 [报告]
发表于 2014-11-14 17:34 |只看该作者
多线程很难用好,所以还是老老实实用多进程吧 ~

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
12 [报告]
发表于 2014-11-14 22:09 |只看该作者
xphh2008 发表于 2014-11-14 17:28
C++11在标准库里面支持了线程。那么C为什么就不能扩展标准库呢?

既然在用C写代码,多线程又是非常常 ...
从何说起。C支持线程库啊。我们的多线程系统都是C写的。

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
13 [报告]
发表于 2014-11-15 11:46 |只看该作者
无病呻吟啊。

论坛徽章:
0
14 [报告]
发表于 2014-11-15 12:22 |只看该作者
yulihua49 发表于 2014-11-14 22:09
从何说起。C支持线程库啊。我们的多线程系统都是C写的。


我的原话是说“在语言级别上”支持线程。

pthread库是linux下的线程实现,你windows下开发能用吗?显然不能。windows有另外的API。

所谓在语言级别上支持,当然是不用关心平台的。c++11在STL里面支持了线程,这才叫语言级别的支持。

另外还包括锁、信号量等的实现,C没能在语言级别上支持。

我的工作内容很长一段时间是做中间件,写C/C++的时候很痛苦,换个团队,就得重新实现/适应新的跨平台基础封装库,主要就是线程和锁。

Java完全没有这种问题,这也是Java开发效率高的原因之一。

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
15 [报告]
发表于 2014-11-15 13:00 |只看该作者
回复 14# xphh2008


    C 语言天生就无法支持多线程。
你懂得。。(除非是用用户线程, 也就是Fiber)

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
16 [报告]
发表于 2014-11-15 15:42 来自手机 |只看该作者
本帖最后由 yulihua49 于 2014-11-15 15:47 编辑

C语言就是语言,线程,进程都是系统功能。C当然支持一切系统功能,系统间的差别不是语言的过错。都是说英语的,到哪国按哪国法律办事。再说,C诞生那会,windows在哪儿呢?这又有什么好指责的呢?不爱用就别用。仅此而已。

论坛徽章:
0
17 [报告]
发表于 2014-11-15 16:09 |只看该作者
yulihua49 发表于 2014-11-15 15:42
C语言就是语言,线程,进程都是系统功能。C当然支持一切系统功能,系统间的差别不是语言的过错。都是说英语的,到哪国按哪国法律办事。再说,C诞生那会,windows在哪儿呢?这又有什么好指责的呢?不爱用就别用。仅此而已。


这么激动干什么。

你还是没搞懂什么叫“在语言级别上”支持。

Java、C++11、Python、Lua、……,不同的操作系统,关于线程,它们写出来都是一套代码。为什么C就不可以呢?

论坛徽章:
0
18 [报告]
发表于 2014-11-15 16:13 |只看该作者
yulihua49 发表于 2014-11-15 15:42
再说,C诞生那会,windows在哪儿呢?这又有什么好指责的呢?


还怪MS了?

你要搞清楚为什么windows的线程API是那样的,不是windows的错,是因为C语言标准里就没有规定关于线程的东西!

当然了,C诞生那会儿还没有多线程编程的概念,但是后面可以加啊!

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
19 [报告]
发表于 2014-11-15 16:14 |只看该作者
folklore 发表于 2014-11-15 13:00
回复 14# xphh2008

大量的多线程应用都是C写的,没用fiber,你这话怎么说?
我们的C++应用,多线程部分也是C的。。。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
20 [报告]
发表于 2014-11-15 16:16 |只看该作者
本帖最后由 yulihua49 于 2014-11-15 16:19 编辑
xphh2008 发表于 2014-11-15 16:09
这么激动干什么。

你还是没搞懂什么叫“在语言级别上”支持。

楼主说的多线程应用,没涉及语言,咱们是不是跑题了?
我想,是否专开一贴讨论?
你开贴,我跟贴。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP