社区
进程/线程/DLL
帖子详情
如何设计支持多线程的库
macrojj
2009-11-24 10:15:36
之前做了一个库,该库在单线程时 很正常。现在需要扩展功能,改成多线程的。
我仅仅在库的每个函数的出口 入口 加上临界段。 现在发现这种方式不太好。 程序常常崩溃掉。
现在我想请问大家,在设计支持多线程库的时候,一般使用哪种策略。应该注意什么问题。我以为加上临界段之后,虽然会很慢,但是不至于崩溃掉。
请大家指点我一下。
...全文
110
10
打赏
收藏
如何设计支持多线程的库
之前做了一个库,该库在单线程时 很正常。现在需要扩展功能,改成多线程的。 我仅仅在库的每个函数的出口 入口 加上临界段。 现在发现这种方式不太好。 程序常常崩溃掉。 现在我想请问大家,在设计支持多线程库的时候,一般使用哪种策略。应该注意什么问题。我以为加上临界段之后,虽然会很慢,但是不至于崩溃掉。 请大家指点我一下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
willen121
2009-12-16
打赏
举报
回复
mutex seamphone(好象这么写吧) 都可以吧, 只要用一个内核态的东西就行了.
cattycat
2009-11-24
打赏
举报
回复
线程安全,即可重入的函数,尽量不要有全局变量或静态变量,如果有的话得考虑互斥。
oyljerry
2009-11-24
打赏
举报
回复
对于需要多个线程操作的数据也要做临界区保护等...所有可能发生读写异常的地方都要做一些保护检测
写不动代码的人
2009-11-24
打赏
举报
回复
尽量减少全局变量的使用
JonathanS666
2009-11-24
打赏
举报
回复
对共享数据做保护。临界段并不是内核对象,用mutex或event做保护。
_JeffreyWu
2009-11-24
打赏
举报
回复
没写过,UP
验证码识别
2009-11-24
打赏
举报
回复
UP
winnuke
2009-11-24
打赏
举报
回复
没有涉及到全局的对象的读写的话就不需要考虑线程安全问题。
心留
2009-11-24
打赏
举报
回复
[Quote=引用 3 楼 oyljerry 的回复:]
对于需要多个线程操作的数据也要做临界区保护等...所有可能发生读写异常的地方都要做一些保护检测
[/Quote]
同意
xwsn007
2009-11-24
打赏
举报
回复
[Quote=引用 2 楼 superlym2005 的回复:]
对共享数据做保护。临界段并不是内核对象,用mutex或event做保护。
[/Quote]
同意这个说,试试互斥对象
4.7 C++ Boost
多线程
并发
库
C++语言并没有对
多线程
与网络的良好
支持
,虽然新的C++标准加入了基本的`thread`
库
,但是对于并发编程的
支持
仍然很基础,Boost
库
提供了数个用于实现高并发与网络相关的开发
库
这让我们在开发跨平台并发网络应用时能够像Java等语言一样高效开发。 thread
库
为C++增加了
多线程
处理能力,其主要提供了清晰的,互斥量,线程,条件变量等,可以很容易的实现
多线程
应用开发,而且该
库
是可跨平台的,并且
支持
`POSIX`和`Windows`线程。
python的
多线程
python
多线程
一、线程的概念 线程是CPU分配资源的基本单位。当一程序开始运行,这个程序就变成了一个进程,而一个进程相当于一个或者多个线程。当没有
多线程
编程时,一个进程相当于一个主线程;当有
多线程
编程时,一个进程包含多个线程(含主线程)。使用线程可以实现程序大的开发。 多个线程可以在同一个程序中运行,并且每一个线程完成不同的任务。
多线程
实现后台服务程序可以同时处理多个任务,并不发生阻塞现象。
多线程
的程序
设计
的特点就是能够提高程序执行效率和处理速度。python程序可以同时并行运行多个相对独立的线
C++ 标准
库
容器
多线程
安全 解释
以前写c++代码的时候,经常遇到
多线程
访问容器要不要加锁的问题,一直也没找到明确的解释,所以不管读写,只要是
设计
多线程
都会加锁保护,今天偶然间翻到了MSDN上关于标准
库
多线程
安全的解释,也算是心里有底了,见图. 图里列出的标准
库
容器如果
多线程
只涉及到读取是线程安全的,如果涉及到读和写或者
多线程
写都是需要加锁的。 ...
C++
多线程
编程实践:从基础到实例的全面指南
C++ 基础知识 九 线程和
多线程
一、线程基础知识1. 进程和线程的概念2.
多线程
的优点和使用场景3. 线程的生命周期4. 线程的状态5. 线程的同步和互斥5.1 线程同步5.2 线程互斥6. 代码示例二、C++11线程
库
1 C++11线程
库
的概念和特性2 线程
库
中的关键类和函数3 使用线程
库
创建和控制线程4 使用线程
库
完成线程之间的同步和互斥5 原子变量和无锁数据结构的使用三、
多线程
编程实践1
多线程
程序的常见问题和调试技巧2
多线程
程序的
设计
和实现方法3
多线程
程序中的优化技巧4 异常处理和资源管理
操作系统 --
多线程
编程知识详解
操作系统 --
多线程
编程概述
多线程
模型线程
库
线程问题操作系统实例 介绍线程的概念——构成
多线程
计算机系统基础的CPU使用的基本单位 讨论Pthreads、Win32和Java线程
库
的api 研究与
多线程
编程相关的问题 概述 单线程和
多线程
单线程在程序中只有一个registers(寄存器),一个堆栈(stack)来执行一个线程 而
多线程
有多个registers 和stack 一组来执行多个thread
多线程
服务模型 客户端 想服务端发送一个请求 客户端创建一个新线程来处理这个请求 然后将结果返回给
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章