目前我正在做一个项目,需要写一个公共的DLL,这个DLL由多个线程同步调用,请问该如何做啊,最好有例子让我参考下,谢谢!

解决方案 »

  1.   

    是的,不会写,以前只写过一般的dll,没有考虑过线程同步,请你们帮忙给个例子,谢谢
      

  2.   

    我的这个DLL要完成的功能是:接受客户端的参数然后传给服务器,服务器返回一个值给我,我在传递给客户端。简单就是参数的传递
      

  3.   

    之所以要考虑到线程同步是因为在同一时刻有多个客户端调用我这个DLL
      

  4.   

    设计时必须考虑:
    1. DLL是否是否需要识别各个客户端,如果需要的话就要现场保留一些客户端的必要信息。
    2. 你可以考虑做成线程池的方式,创建一些伺服实例等待客户端调用。
    3. 如果你只是提供共享的函数,
            如果没有全局变量和静态变量,可以不考虑同步问题;否则,必须进行同步控制。
            如果有全局变量和静态变量,返回他们的值时,一定要注意保证时序没有错误。
    4. 例子可以查MSDN,看懂就行了。
    5. 多线程的程序我一般不照微软的例子写,这方面的东西很多书上有,看随书光盘的源代码最好,一般都有讲解。