界面与线程 问题
来源:互联网 发布:双胶合透镜优化设计 编辑:程序博客网 时间:2024/06/05 23:03
界面A,接收用户输入
线程B,有任意多个,由A创建。B有一个状态标志,A通过设置B的状态标签来控制线程B。B实时将执行结果返回给A。
该怎么设计?
我现在的设计的是烂的。
class A extends wxFrame
{
DispCtrl dispCtrl; // 显示控件
createThread() { ThreadB *b = new ThreadB(); b->start(); // 创建线程
ThreadCtrl() // 控制线程B
{
b = findThreadById(id);
b.setStatus( status ); // 比如暂停,取消,中止等等
}
}
class ThreadB
{
ThreadB( DispCtrl dispCtrl ){ this._dispCtrl = dispCtrl ; }// 将显示控件传入线程内部
void run()
{
// 执行计算
// 在这里实时更新界面显示dispCtrl 的数据
}
}
界面API是wxWidgets
有相当一部分数据访问需要保证其是线程安全的,采用 wxCriticalSection/wxCriticalSectionLocker 来进行互斥访问,采用 wxMutexGuiEnter/wxMutexGuiLeave 在线程中更新界面显示。
但很奇怪。经常会发生莫名其妙的问题,一个不小心CPU就爆满了,再或者跳出错误。当更新数据去掉wxMutexGuiEnter/wxMutexGuiLeave,错误反而都消失了。
搞不清楚。头都晕了。
- 界面与线程 问题
- 界面、线程与Qt线程
- 界面与线程
- Swing处理界面中的线程问题
- C#委托解决界面与线程通信
- Swing界面响应与线程安全
- VB.net 中界面与线程
- NSURLSession与线程问题
- 界面线程
- 界面,线程
- 线程安全与线程不安全问题
- 利用SynchronizationContext解决界面要素的线程同步问题
- 用SynchronizationContext解决界面的更新线程数据问题
- javaFX——非UI线程界面更新问题
- 多线程与线程同步问题
- 界面与后台工作线程分离的实现方案
- 界面与后台工作线程分离的方案
- C# 子线程与前台UI界面的交互
- Isqlplus 安装和配置
- org.hibernate.AssertionFailure: null id
- 未知的fedora8前路
- 用MIME格式描述多内容Excel工作表
- U盘病毒的传播途径和如何安全使用U盘
- 界面与线程 问题
- 理解TCP/IP协议
- stream各种类区别
- Ajax控件之异步上传图片
- 今天没事干,还是把近期网上收录的笔记的做个总结吧!
- Ajax for Web Application Developer译序
- 关于在weblogic和tomcat中实现直接访问servlet的配置说明
- MSDN下自带学习VC例程路径
- 顶峰前的谦让--------转自CJCHT CLARE的NEWS文章