static高级问题
有一个类,里面有一个送信static方法
class test {
static mail(server,par1,par2) {
//把连接服务器的Socket变量定义在static函数内
Socket skt = new Socket(server);
//连接服务器并发送邮件
}
}
很多客户端同时调用这个方法来发信,
问有没有可能会出现Socket共享现象?
Socket定义在函数内部,是否可以认为只在函数内部有效?而不影响其他进程?
现在偶尔会出现发信中断以及Socket无法关闭现象
------解决方案--------------------方法里的
Socket是局部变量
不会共享 每个线程调用这个的时候 都会在重新构建这个socket
------解决方案--------------------不会共享的,因为方法运行会进栈的,方法中的每一个局部变量都会在栈中分配空间的。所以多个线程会对应多个栈中的变量,所以彼此不会有影响的。
------解决方案--------------------函数内的变量不会被共享的,不会有同步问题。