社区
进程/线程/DLL
帖子详情
一个线程的小问题
aunkbk
2008-05-07 10:30:16
请问大家:
别人都说在工作线程中不能直接使用窗口指针,而我总是在这样用,却从没出过问题,不知道为什么?
请教大家,如果出问题,会在什么情况下出问题呢?先谢谢啦!
...全文
75
5
打赏
收藏
一个线程的小问题
请问大家: 别人都说在工作线程中不能直接使用窗口指针,而我总是在这样用,却从没出过问题,不知道为什么? 请教大家,如果出问题,会在什么情况下出问题呢?先谢谢啦!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gavinzhu
2008-05-07
打赏
举报
回复
说白了 你能 避免并发操作某个对象 就没问题
最简单的 读写串口 用读写两个线程进行做
ouyh12345
2008-05-07
打赏
举报
回复
所有的mfc的指针都是非线程安全的
多线程环境下,用句柄
vcPlayer
2008-05-07
打赏
举报
回复
[Quote=引用 1 楼 cnzdgs 的回复:]
这样说的人很多,但不是所有人都这样说。只要你清楚什么样的情况会出问题,并且避免发生问题就可以了。
其实不只是窗口指针,所有指针都有可能出问题,关键是看会不会发生多个线程同时访问相同的数据的情况,(所有线程对数据都只读除外)。例如:窗口类中定义了一个变量,创建线程时把窗口类指针传给线程,如果主线程随时有可能更改这个变量,而工作线程也要修改这个变量,假设主线程修改这个变量的中途,工作线程对这个变量做…
[/Quote]
核心在于线程同步,重点在于窗口界面要接受用户很多操作,而这些操作又是不可预期的(不像我们工作线程要干嘛都很清楚),有些操作很可能会导致一些窗口指针的“失效”从而导致程序崩溃……严重情况发生。不过在常规应用下一般不会发生这种情况。
cnzdgs
2008-05-07
打赏
举报
回复
这样说的人很多,但不是所有人都这样说。只要你清楚什么样的情况会出问题,并且避免发生问题就可以了。
其实不只是窗口指针,所有指针都有可能出问题,关键是看会不会发生多个线程同时访问相同的数据的情况,(所有线程对数据都只读除外)。例如:窗口类中定义了一个变量,创建线程时把窗口类指针传给线程,如果主线程随时有可能更改这个变量,而工作线程也要修改这个变量,假设主线程修改这个变量的中途,工作线程对这个变量做了修改,这时就会产生冲突,导致变量的数据不正确。当可能发生这种情况时,应采取线程同步手段,防止多个线程同时访问数据。
对于传递窗口类指针,通常的操作,例如更改控件文字,更改控件状态等,这些都是通过SendMessage最终由窗口所属线程来处理的,所以不会发生冲突。常见的冲突是创建、销毁窗口或控件,更新视图,释放指针等。
danscort2000
2008-05-07
打赏
举报
回复
那说明你没吃透消息传递规则
等你编写大型代码,遇到莫名其妙的挂起问题时
你会明白不用工作线程直接处理界面有多么重要
下载 多
线程
编程技术开发资料 高清完整PDF版
死锁是多
线程
编程中经常遇到的
一个
问题
,它指的是两个或多个
线程
互相等待对方释放锁,从而导致进程永远阻塞的情况。避免死锁需要程序员在设计程序时仔细规划锁的使用和
线程
间的交互。 8. 并发与并行 并发...
Java.Concurrency.in.Practice.pdf
- **3.3
线程
隔离**:介绍了如何通过将对象限制在
一个
特定
线程
内使用来避免并发
问题
。 - **3.4 不可变性**:不可变对象是一种强大的工具,可以用来简化并发编程。本节讨论了不可变对象的设计原则及其在并发环境中的...
JAVA多
线程
之两个
线程
同时写
一个
文件
是进程中的
一个
实体,是被系统独立调度和分派的基本单位,
线程
自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属
一个
进程的其它
线程
共享进程所拥有的全部资源。
一个
线程
可以创建和撤消另
一个
...
python的多
线程
当一程序开始运行,这个程序就变成了
一个
进程,而
一个
进程相当于
一个
或者多个
线程
。当没有多
线程
编程时,
一个
进程相当于
一个
主
线程
;当有多
线程
编程时,
一个
进程包含多个
线程
(含主
线程
)。使用
线程
可以实现程序大的...
java
线程
占用的空间_
一个
jvm
线程
占用多少操作系统内存
发现内存计算对不上由于我们这边设置的Xss是512K,即
一个
线程
栈大小是512K,而由于
线程
共享其它MM单元(
线程
本地内存是是现在
线程
栈上的),所以实际
线程
堆外内存占用数量也是512K。进行如下计算:...
进程/线程/DLL
15,466
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章