不会吧,我的服务程序开了30个线程 ,100多个客户端运行的很好阿?(听说有个地方1000多个没问题噢),
       delphi 多线程同步机制,还是比较好的。你的程序有什么问题能看看吗?

解决方案 »

  1.   

    VCL是线程不安全的。在多线程程序中使用vcl组件的话,一定要使用TThread类的Synchronize方法调用多线程单元
      

  2.   

    我不认为就是Delphi的问题,你仔细检查了吗?
    我以前写的程序很多都用了线程,有时出现问题一检查,才发现是
    自己的代码未考虑周到所致!
    我劝你自己多看看,再下结论!
      

  3.   

    Nicrosoft 说的对,vcl线程不能操作界面,包括edit1.text:='1';这种语句都不能有。
      

  4.   

    Delphi对线程的封装比较简单.应该是不会有问题的.再说了,不用TThread类,直接写线程也很简单.你要是怀疑Delphi,不妨将你的代码改称直接使用线程的试试.It is really easy.function SomeThread(P:Pointer):Boolean;Stdcall;
    begin
    end;CreateThread(,SomeThread,..);
      

  5.   

    我想jadedrip误解了Nicrosoft的意思,Nicrosoft是说Vcl不是线程级安全的.但是可以使用Synchronize来避免这种情况.
    Edit1.Text := '1';这给语句确实不能有(这不是Delphi的原因,而是线程的原因),但是并不意味着不能给Edit1.Text赋值.
      

  6.   

    我不过是把句号打成了逗号而已。呵呵
    “Nicrosoft 说的对。”和后面是两句话。