线程可不可以理解为
线程+延迟+自定义消息=时钟?
同样的程序 放在时钟里面执行要比在线程下执行要稳定一些。是不是因为时钟有消息机制可以使得系统方便处理?Delphi线程时钟
线程+延迟+自定义消息=时钟?
同样的程序 放在时钟里面执行要比在线程下执行要稳定一些。是不是因为时钟有消息机制可以使得系统方便处理?Delphi线程时钟
解决方案 »
- cxLookupComboBox选中的时候,如何和那个数据源的记录定位保持一致呢?或者如何取key
- 在DBGrid直接修改数据,想在数据写入数据库前进行有效性验证,应该在哪个控件的哪个事件里面写代码。。我不太熟悉delphi。。都快被这个事
- 怎样将数据查询结果导出为Excel??
- 如何找出子字符串?
- ActiveX在网页中的下载问题!
- 请问各位大侠,如何在DELPHI中实现ACCESS数据库的在线动态升级?
- 注册表删除问题
- 谁知道李维的ADO/MTS/COM+里的DELPHI5试用版光盘的序列号是多少?
- 图片对称问题
- 在Reportbuilder中,主从表的问题?
- 用没有人做过用Visa控制Agilent设备的程序。
- pascal如何截取字符串
但是事件响应代码无须考虑线程代码的很多限制
进程A读写自身的内存数据
DLL B被注入到进程A之中 读写A的数据
因为DLL也要读写这样会造成资源的冲突
如果采用时钟 因为某种机制 具体的我也不是很清楚 A进程不会出现什么问题
但是采用线程的话 如果处理不好就 导致进程A的关闭
但是因为性能的要求 必须要采用线程处理
所以 就想知道线程和时钟的区别
如果线程只是用来sleep然后发出一个消息
总的效果应该没区别资源的竞争、冲突还是会存在,这个要通过计数、互斥来解决
如果线程只是用来sleep然后发出一个消息
总的效果应该没区别资源的竞争、冲突还是会存在,这个要通过计数、互斥来解决现在我构建的模型是这样的
首先 把读写数据这个部分放在一个DLL按钮事件里面,然后把这个按钮变成 大小 0 0是可用的 但是看不到
然后我在线程里面调用这个按钮事件
相当于新开的线程 调用主线程的消息资源 这样的话 效率降低很多 但是不知道跟时钟比较效率怎样?
还有如果这样做 能解决冲突么?
相当于 DLL B被注入到A进程 DLL B创建 线程C 线程D
线程C 部分代码 调用 DLL B 界面中的 按钮F 线程D部分代码调用DLL B 界面中的按钮F (按钮F封装了对进程A内存的读写操作)
这样的效率 肯定不能跟 DLL B 直接创建 线程C 和线程D 直接对进程A内存的读写操作比,对吧?
我就想问 这样可不可以 避免 进程A的内存读写操作 和线程C 和线程D的内存读写操作?
开两个A进程 直接导致了 干扰 第一个A进程,B的 线程全部死掉。
第二个运行没多久也全部死掉。。
EnterCriticalSection(MyCs); //进入临界区 try
finally
LeaveCriticalSection(MyCs); //离开临界区
end;DeleteCriticalSection(MyCs);
用临界区之后不出现之前的问题了 但是速度慢的要死。。