当“流”遇上“多线程”,难题就出来了!!!(28分)

  • 主题发起人 主题发起人 liqianlong
  • 开始时间 开始时间
打击一下: 别考虑用线程操作某个事件传递进来的stream吧。
1、你不能肯定你的事件过程结束后该stream是否还有效,是否会被调用该事件的过程释放掉。如果你将该参数传递进thread后你不能保证在你的事件过程结束前thread就操作完成stream
2、如果你可以肯定在你的事件处理代码完成前thread就操作完这个stream, 那还有什么必要一定要创建一个thread去执行它呢?
3、如果你的事件处理代码等待线程结束才返回,那也牵涉到是否有必要用thread的问题了。
 
Agree with Another_eYes. there are some problems with your program logic.
 
同意 Another_eYes
如果一定要这样做,就得自已从合适的流类型中继承自己的类型,并在其中加入同步控制[
个人感觉这种情况用TRTLCriticalSection会比较好],粗看了一下,以下几个方法应进行控制 , SetSize,Read,Write,Seek
 
我认为在事件里面完全没有必要用线程,用一个函数调用就可以了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部