怎样用标准C++创建多线程呢?

江南烟雨梦 2009-12-21 01:35:56
在windows平台下有CreateThread之类的函数,那么标准C++中呢?可以跨平台的。
...全文
1686 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
cmcccdma 2010-05-17
  • 打赏
  • 举报
回复
我觉得18楼说得对~目前还在学习中....
xyufeng1989 2010-04-18
  • 打赏
  • 举报
回复
长见识了,学习
小南家的青蛙 2010-04-18
  • 打赏
  • 举报
回复
[Quote=引用 36 楼 thinke365 的回复:]

引用 10 楼 jackyjkchen 的回复:
标准C++没有多线程的东西,而boost的多线程在Windows下兼容性一般……Windows下我一般用ACE


boost兼容性一般,是什么意思,能否具体一点?
ACE不是一个网络编程框架吗?
怎么和多线程勾搭上了?
[/Quote]
ACE并不只是一个跨平台的网络编程框架库,它封装了很多实用的API,可以让程序员的工作好作一点
不过前提是得有一定的基础,否则会很痛苦的
thinke365 2010-02-27
  • 打赏
  • 举报
回复
引用 10 楼 jackyjkchen 的回复:
标准C++没有多线程的东西,而boost的多线程在Windows下兼容性一般……Windows下我一般用ACE


boost兼容性一般,是什么意思,能否具体一点?
ACE不是一个网络编程框架吗?
怎么和多线程勾搭上了?
iwgh 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 blue_may 的回复:]
引用 11 楼 beyond0824 的回复:
引用 10 楼 jackyjkchen 的回复:
标准C++没有多线程的东西,而boost的多线程在Windows下兼容性一般……Windows下我一般用ACE

那你Linux下用什么呢?


ACE是跨平台的。Linux下也可以用。
[/Quote]

ACE是跨平台,而且ACE_Task还集成线程池,但是如果你真的用过ACE,你就会发现这真不是个好东西,随之而来的是内存泄露,莫名其妙core dump.......
Blue_may 2009-12-26
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 beyond0824 的回复:]
引用 10 楼 jackyjkchen 的回复:
标准C++没有多线程的东西,而boost的多线程在Windows下兼容性一般……Windows下我一般用ACE

那你Linux下用什么呢?
[/Quote]

ACE是跨平台的。Linux下也可以用。
niuwuze0442162 2009-12-26
  • 打赏
  • 举报
回复
c++ stl 里面好像木有吧
traceless 2009-12-22
  • 打赏
  • 举报
回复
最好不要用CreateThread

#ifndef WIN32
...
__inline HANDLE _beginthreadex
...

#else
....
(HANDLE)_beginthreadex (NULL, 0, thread_func, this, 0, &thread_id);
....

代码就不写了
physics1988 2009-12-22
  • 打赏
  • 举报
回复
长见识了。原来所有编程语言的多线程都是用API来实现的。
  • 打赏
  • 举报
回复
[Quote=引用楼主 beyond0824 的回复:]
在windows平台下有CreateThread之类的函数,那么标准C++中呢?可以跨平台的。
[/Quote]

不可以,因为进程和线程本来就是由内核来完成实现的,所以c++本身是没有多线程的东东。

但是可以对不同系统进行不同调用的封装,即可跨平台、
dongdong814617937 2009-12-22
  • 打赏
  • 举报
回复
学习
do_fork 2009-12-22
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 sams_wang 的回复:]
线程是属于操作系统层次的概念,跟具体的编程语言无关,无论你使用哪种编程语言,最终都是需要调用操作系统提供的API,具体的编程语言提供的只是一直调用规范而已
[/Quote]

用户级线程不依赖于内核
two_ears 2009-12-22
  • 打赏
  • 举报
回复
跨平台的话Qt应该可以
hearoequal 2009-12-22
  • 打赏
  • 举报
回复
线程 是系统的内核对象 每个不同的系统内核 有不同的处理方式
针对不同的系统 去使用对应的API函数
chenyu2202863 2009-12-22
  • 打赏
  • 举报
回复
放心,标准C++会提供线程库的,估计就是boost里的thread库再改改
desd003 2009-12-22
  • 打赏
  • 举报
回复
c++的作者说,c++只是一个语言,而不是一个平台,所以像线程进程这些概念都不是语言直接支持的。
msdn2009_2010 2009-12-22
  • 打赏
  • 举报
回复
学习!
liubuweiright 2009-12-22
  • 打赏
  • 举报
回复
MFC类库
hearoequal 2009-12-22
  • 打赏
  • 举报
回复
2位 仇恨好深啊…………
tcbhj 2009-12-22
  • 打赏
  • 举报
回复
SB你妈,还solaris solaris

搞的自己好像solaris/linux/windows通吃一样

你的回答要是像25楼那样,谁来喷你
加载更多回复(19)
本书是一本指导读者如何最大程度地使用c++ builder 6.0进行代码开发的就业指南。书中详细介绍了关键的编程概念和利用vcl环境来开发应用程序的基础知识,还提供了上百个如何在vcl环境下使用c++ builder功能的技巧、具有实践性的建议以及数百个可以立即运行的重要解决方案的详细代码,内容主要涉及以下几个方面:标准c++基础知识、vcl库、windows窗体、图形编程、多线程技术、数据库应用、分布式应用、web等等。通过本书的学习,读者可以高效的利用c++ builder开发应用程序,能够理解关键操作的内部实现机制,有助于迅速利用c++ builder来实现大量的编程任务,成为一个成功的设计师。 本书适用于大中专院校学生、程序设计人员和c++ builder爱好作为为一本就业实践指南。 目录 ↑第一部分 学习——跨越求职路上的鸿沟 第1章 夯实c++基本功 1.1 初步认识c++基本功 1.2 类型和表达式 1.3 控制结构 1.4 指针和数组 1.5 函数 1.6 结构和枚举 第2章 如何实现面向对象编程 2.1 类和对象 2.2 友元类和友元函数 2.3 类的继承 2.4 多态和虚函数 第3章 异常处理3.1 3.2 win32平台的结构优异常处理 3.3 c++异常处理 第二部分 实践——享受c++builder,享受工作的乐趣 第4章 参观c++builder的开发环境 4.1 了解集成开发环境 4.2 项目管理工具 .4.3 编译和调试的方法 4.4 如何开发一个完整的工程 第5章 使用类库 5.1 vcl库中的类结构 5.2 组件的控件之间的关系 5.3 理解属性、方法和事件 5.4 通用的属性、方法和事件 5.5 与应用程序息息相关的类 第6章 设计用户界面 6.1 利用按钮与用户交互 6.2 静态文本显示类控件的操作 6.3 用户输入类控件的应用 6.4 状态类控件的应用 6.5 选项类控件的应用 6.6 分页控件 6.7 大纲视图类控件 6.8 如何在窗口上显示图形 6.9 tframe的使用 6.10 管理菜单 6.11 工具栏和酷栏 6.12 使用动作列表 第7章 图形编程 7.1 图形的简单显示 7.2 设备描述表与tcanvas类 7.3 gdi对象 7.4 基本绘图操作 第8章 文件和目录操作 8.1 标准文件类型 8.2 常用文件操作函数 8.3 文件操作对话框 8.4 如何获取驱动器类型 8.5 操作jni文件 8.6 获取文件的日期信息 8.7 检测软盘或光碟是否有过变化 8.8 检测驱动器容量 8.9 复制整个目录 8.10 将文件删除到回收站中 8.11 检测驱动器是否就绪 8.12 操作临时文件 第9章 打印的实现 9.1 用对话框设置打印 9.2 简便的打印 9.3 tprinter类 9.4 获取默认打印机信息 9.5 获取打印队列的信息 9.6 如何打印位图 第10章 注册表 10.1 注册表键 10.2 注册表数据类型 10.3 使用tregistry 第11章 多线程的处理 11.1 如何创建并运行一个线程 11.2 在vcl中使用线程 11.3 如何控制线程的优化级 11.4 如何挂起和唤醒线程 11.5 如何协调线程之间的工作 第三部分 价值提升_走上专家之路,做个真正的设计师 第12章 数据库技术 12.1 用ado连接数据库 12.2 如何连接到数据源 12.3 如何从数据源取出数据 12.4 如何对数据集中的数据进行操作 12.5 如何创建主线表 12.6 如何使用字段组件 12.7 数据集的状态 12.8 用adocommand直接对数据源进行操作 第13章 分布多层应用 13.1 为什么要使用分布式多层结构 13.2 理解midas 13.3 创建分布式应用程序 13.4 创建应用程序服务器 13.5 创建客户端应用程序 13.6 在分布式应用程序中管理事务 13.7 支持远程数据模块的状态信息 13.8 用提供者组件和客户端交互 第14章 利用webbroker开发web应用 14.1 什么是webbroker 14.2 html基础 14.3 使用webbroker组件作开发 14.4 使用cookie 第15章 scket编程 15.1 winsock概述 15.2 服务端socket 15.3 客户端socket 15.4 数据传输 15.5 winsocd类组件介绍 15.6 如何创建自己的网络聊天室

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧