各位知道多少说多少,大家一起讨论一下,共同提高,我给发分1.引起线程安全的原因都有哪些(如对象局部变量,全局变量)
如何保障线程安全,据说delphi里面的线程对象需要保障安全需要重载一部方法,有哪些需要重载。
讨论可以不局限于delpi语言。2.函数指针,事件3。套接字 API,什么时候VCL里面提供的类不呢完成要求,必须调用API来实现

解决方案 »

  1.   

    1、
     VCL线程安全。
    在DELPHI创建VCL类库时,并没有线程的概念,所以VCL并不是基于线程安全的。要在线程中使用主线程的对象时,必须同步。否则可以造成不可预料的结果。
      全局变量的使用。
    由于派生线程可以访问主线程中的全局变量,所以在对全局变量的使用时,也要考虑线程同步,否则访问就是不安全不完整的。
      

  2.   

    关于线程安全可以使用临界区对象或者原子对象来作为限定访问全局变量的条件。
    函数指针和事件太简单了,随便翻一本基础的Delphi书上面都有描述。函数指针就是指向函数的指针。事件实际上也是一个特别的函数指针,不过是在接收到某种消息时候开始执行的函数指针而已。
    关于套接字的问题,我并不是非常了解Delphi VCL中的套接字类的功能范围,所以不好做回答