Gob*_*ins 8 java session multithreading
我们希望将客户端与服务器断开连接.
所以我们向会话发送了一些消息,其中包括一些命令,如"关闭你自己"l
所以一般来说我做的是这样的:
for (Session session : sessions) {
closeSession(session);
while(!verifyClosed(session)){
closeSession(session);
retries++;
if(retries==10){
retries = 0;
break;
}
};
}
Run Code Online (Sandbox Code Playgroud)
现在我想在做一些sigterm kill方法之前为每个会话提供一些秒(比方说5).
那么首选方式是什么:
为每个会话关闭过程执行最多5秒延迟的循环.
要么
为每个会话启动执行此过程的线程,以便同时关闭会话.
for (Session session : sessions) {
startClosingThread(session);
}
Run Code Online (Sandbox Code Playgroud)更新:
我注意到有些用户在"Session"这个词上误以为,问题不在于SessionHandling.如果我发送关闭消息或断开套接字无关紧要.这不是问题.
您可以用UserThread替换Session一词.
我需要一些建议的问题是:关闭"UserThread"将需要一些时间,所以现在等待每个线程关闭并步进到下一个,或者为每个UserThread启动它自己的repsonsible Closing Thread来处理所有线程同时.
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |