社区
C++ 语言
帖子详情
怎样用标准C++创建多线程呢?
江南烟雨梦
2009-12-21 01:35:56
在windows平台下有CreateThread之类的函数,那么标准C++中呢?可以跨平台的。
...全文
1686
39
打赏
收藏
怎样用标准C++创建多线程呢?
在windows平台下有CreateThread之类的函数,那么标准C++中呢?可以跨平台的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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来实现的。
猫已经找不回了
2009-12-22
打赏
举报
回复
[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++
多线程
和
多线程
下的单例模式
本资源描述了
C++
11 中
多线程
的
创建
,
C++
11中std命名空间中将boost库中的Thread加入,boost
多线程
从准
标准
变为
标准
,其中还介绍了
C++
多线程
下的单例模式的使用,本文档为txt文档
C++
Builder 6.0设计师之路 pdf版
本书是一本指导读者如何最大程度地使用
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 如何
创建
自己的网络聊天室
c++
11中关于std::thread的join的详解
std::thread是
c++
11新引入的线程
标准
库,通过其可以方便的编写与平台无关的
多线程
程序,虽然对比针对平台来定制化
多线程
库会使性能达到最大,但是会丧失了可移植性,这样对比其他的高级语言,可谓是一个不足。终于在
c++
11承认
多线程
的
标准
,可谓可喜可贺!!! 在使用std::thread的时候,对
创建
的线程有两种操作:等待/分离,也就是join/detach操作。join()操作是在std::thread t(func)后“某个”合适的地方调用,其作用是回收对应
创建
的线程的资源,避免造成资源的泄露。detach()操作是在std::thread t(func)后马上调用,用于把被
创建
的线程
C++
多线程
详细讲解
本文是纯转载,觉得大佬写的非常好!如有侵权可以删除 链接: link.
C++
多线程
基础教程 目录 1 什么是
C++
多线程
? 2
C++
多线程
基础知识 2.1
创建
线程 2.2 互斥量使用 lock()与unlock(): lock_guard(): unique_lock: condition_variable: 2.3 异步线程 async与future: shared_future 2.4 原子类型automic 实例 生产者消费者问题 4
C++
多线程
高级知识 4.1 线程池 线程池基础知识 线程池
C++
11
多线程
(std::thread)详解
注:此教程以 Visual Studio 2019 Version 16.10.3 (MSVC 19.29.30038.1) 为
标准
文章目录线程?进程?
多线程
?什么是
多线程
?进程与线程的区别
C++
11的std::threadstd::thread常用成员函数构造&析构函数常用成员函数举个栗子例一:thread的基本使用例二:thread执行有参数的函数例三:thread执行带有引用参数的函数注意事项(剩下的内容还没写完,明天再更) 线程?进程?
多线程
? 什么是
多线程
? 百度百科中的解释: 多.
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章