附属线程访问主线程中方法的效率问题.(50分)

X

xwings

Unregistered / Unconfirmed
GUEST, unregistred user!
主线程A对象中有方法 AProc A创建了一个子线程B(就创建一个,所以没有线程冲突的问题)
在B的执行Execute中这样写
FreeOnTerminate:=True;
while not Terminateddo
begin
...
A.AProc;
...
end;
我的问题是这样写有没有什么坏处? 效率比直接在B中实现AProc低很多么?
谢谢. 急待回答.
 
如果只有一个线程,为什么用线程呢?, 效率肯定没有在线程中实现高,
因为需要远地址调用. 不过相差不会多少
 
因为我这个AProc不想让主线程阻塞掉. 他应该一直在运行中.所以我才用一个单独线程的.这样的思路对不对. 请指教.
 
這樣執行是以的, 效率也說不定比主線自己執行要好;
(因為主線程通常還要負責處理很多
畫面消息)
可是要考慮線程同步問題, 因為你至少就有兩個線程, 主線還有B線程;
 
谢谢.同步我考虑了. 主线程Aset B线程的一个bool变量用来表示是否需要suspend.
而B线程读取没个缓冲区.如果为空自己就suspend了.
 
应该是没问题的,不知道你试了没有,不过我觉得可能有潜在的问题
 
我试了.暂时还没有发现问题.
 
谢谢各位..
 
顶部