这些线程是否都同属于一个进程?
如果是的话,那么可以通过类里面的静态数据成员来通信,或者是全局变量来通信。如果不是的话,那么可以通过别的介质来通信,
for example
数据库,共享内存,文件

解决方案 »

  1.   

    有 在主线程连接后实例化子类的时候传进去。if (socket.cliented)
    {
        myclass myc = new myclass (socket)
        myc.yourMethord();
    }class myclass
    {
        public myclass()
        {
         }
    }
    ----------------
      

  2.   

    可以考虑用一个变通的方式,参考 public class ThreadSyncTest
    {
    private string _ImageUrl = "";
    protected CommonOperation.Operation Common = new CommonOperation.Operation(); public void ConvertImg()
    {
    try
    {
    string PhyImgUrl = ImageUrl;
    string PhyWbmpImgUrl = PhyImgUrl.Substring( 0, PhyImgUrl.LastIndexOf( "." ) ) + ".wbmp";
    if ( ! System.IO.File.Exists( PhyWbmpImgUrl ) )
    {
    Common.ConvertToWbmp( PhyImgUrl );
    }
    }
    catch
    {
    }
    } public string ImageUrl
    {
    get
    {
    return _ImageUrl;
    }
    set
    {
    _ImageUrl = value;
    }
    }
    }调用的时候:ThreadSyncTest tt = new ThreadSyncTest();
    tt.ImageUrl = Server.MapPath( ImgUrl );
    Thread ConvertImgThread = new Thread( new ThreadStart( tt.ConvertImg ) );
    ConvertImgThread.Priority = ThreadPriority.Lowest;
    ConvertImgThread.Start();另一个方法是你在实例化你的子类的时候传进去yourclass yc = new yourclass(socketObject)
    yc.yourMethod();然后在子类里用子类的构造函数里处理代码我就不写了网上有例子
      

  3.   

    你可以使用一个容器把你生成的线程装起来。
    比如 ArrayList
    通信时,可以直接写到这个线程所在的对象的成员中,最好使用线程同步技术,
    否则,对值进行赋值或加减操作并不是原子的,可能会出现意外。