我正在尝试了解 Java 中的 session - 超时 - 空闲处理多线程。
我有一个通过 telnet 进行通信的服务器和客户端应用程序,我需要检查用户是否在一段时间内键入(任何内容)、单击(任何地方)或移动鼠标。
如果没有,系统将提示用户一个对话框,询问他是否要继续 session 。 ...(如果没有,用户将在下一分钟左右自动注销。)
我的应用程序有多个线程。 ( - 每个线程一个用户)。所以我不确定如何以最好(和最简单)的方式解决这个问题?
我知道这是一个广泛而牵强的问题,但我希望你们中的一些人能给我一个正确方向的指示或提示......:)
我希望有一种简单的方法可以检查: (一些即时的伪代码:)
if (idle = true){
timer.start();
if (timer > 120sec)
displayWaringJFrame("Continue Session? - YES or NO ?)
displayTimer.start();
if (displayTimer > 30sec)
application.user.closeSession()
...或者类似的东西! :)
最佳答案
最简单的解决方案是类 java.lang.Thread。
您可以创建类并实现 Runnable 接口(interface)
public class Session implements Runnable{
public void run(){
//your code
}
}
在主函数中创建 Thread 类,并在调用 .start() 方法后作为构造函数参数设置 Session 类的实例
public static void main(String args[]){
new Thread(new Session()).start();
}
使用线程更方便的方法是 java.util.concurrent.ExecutorService 和 java.util.concurrent.Executors
关于java - session - 超时 - 空闲处理 Java 中的多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13002283/