日期:2014-05-20  浏览次数:20647 次

static高级问题
有一个类,里面有一个送信static方法
class   test   {
      static   mail(server,par1,par2)   {
            //把连接服务器的Socket变量定义在static函数内
            Socket   skt   =   new   Socket(server);
            //连接服务器并发送邮件
      }
}
很多客户端同时调用这个方法来发信,
问有没有可能会出现Socket共享现象?
Socket定义在函数内部,是否可以认为只在函数内部有效?而不影响其他进程?

现在偶尔会出现发信中断以及Socket无法关闭现象

------解决方案--------------------
方法里的

Socket是局部变量

不会共享 每个线程调用这个的时候 都会在重新构建这个socket


------解决方案--------------------
不会共享的,因为方法运行会进栈的,方法中的每一个局部变量都会在栈中分配空间的。所以多个线程会对应多个栈中的变量,所以彼此不会有影响的。
------解决方案--------------------
函数内的变量不会被共享的,不会有同步问题。