一个线程开的socket。在其他线程里 如何访问?报输出流空指针.

一个线程开的socket。在其他线程里 怎么访问?。报输出流空指针.。
1、一个线程开的socket。在其他线程里 怎么访问?。
new Runnable(){
             public void run()
             {........................
                          if( mPrintWriterClient!=null)
                { mPrintWriterClient.print(ComMsg);    
                  mPrintWriterClient.flush();
                  DataChanged = 0;
                }
                else{;}
            }}
               };//这个PrintWriter mPrintWriterClient 永远为空
报 runtime error 输出流空指针异常。怎么办,求指教。。谢谢~~~

2.一个线程开的socket。在实现重力感应的接口里不能 访问 socket。也是输出量 空指针异常。
class   ?????   implements SensorEventListener
 {    public void onSensorChanged(SensorEvent event) {//这个方法里不能访问socket
                            ............
                             mPrintWriterClient.print(ComMsg);    
                          mPrintWriterClient.flush();
                            .........
                                     }
     这两句都 抛 mPrintWriterClient 空指针异常,得不到,我那些 变量 全部都是 activity的成员变量。
           非常感谢~~~

------解决方案--------------------
Handler  你看看这个。。。。
------解决方案--------------------
你确定在访问线程开启之前,socket连接上了吗?mPrintWriterClient赋值了吗?
------解决方案--------------------
应该是线程同步的问题吧。 

new Runnable(){
             public void run()
             {
........................
                          if( mPrintWriterClient!=null)
                 { mPrintWriterClient.print(ComMsg);     
                   mPrintWriterClient.flush();