在不使用多线程 Java 的情况下停止以前的搜索
Stopping a previous search without using multithreading Java?
我有一个允许用户输入搜索条件的网页。使用 get 方法提交搜索表单后,控制器类读取搜索参数,将它们设置为请求属性,然后定向回页面,然后调用具有数据库连接和 sql 查询的 java 类。我的问题是:当用户决定在当前搜索仍未完成的情况下执行新搜索时,有没有办法在开始新搜索之前终止服务器上的当前搜索。
你在这里真的没有提供很多信息。特别是你没有写如何连接到数据库。如果您使用的是 JDBC,则可以使用 Statement.cancel(( 取消执行查询。此外,还应在会话中的某个位置保存有关当前正在运行的查询的信息。
您需要interrupt()
正在执行搜索的线程,并承认搜索线程在执行操作之间正在执行一些Thread.sleep()
(最终您应该添加这些操作( - 线程将被您应该处理以中断搜索处理的InterruptedException
中断。
不过,您需要将Thread.currentThread()
保存在某个地方(即在会话中(,以便通过第二个引用检索引用。
这不是微不足道的,也不是很干净;因为你需要在搜索逻辑中放置一些中断点(即我之前提到的Thread.sleep()
(并正确处理InterruptedException
。
当然,更简单的方法是忽略上一个线程仍在运行并执行新的搜索。
相关文章:
- 如何在未直接触发的情况下停止事件
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 在不阻止默认行为的情况下检测IE10中的缩放
- 如何在不传递此信息的情况下查找被调用的元素
- 如何在不刷新页面的情况下更新显示框
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- 在禁用ng的情况下搜索JSON对象(AngularJS)
- 如何在不使用任何 html 输入/搜索元素的情况下读取本地客户端文本文件
- 如何在不隐藏键盘的情况下清除输入搜索?(手机)
- 在没有数据库的情况下搜索图像
- 突出显示搜索结果在某些情况下不起作用
- 如何在不干扰搜索优化的情况下定位html密集型小部件
- 如何在不使用正则表达式的情况下使用javascript在数组中搜索字符串
- 给定一个特定的日期,是否有一种方法可以在不知道日期是以哪种格式书写的情况下在自由文本文档中搜索该日期?
- 在没有JQuery的情况下搜索DOM查找特殊的html标签
- Javascript RegExp是否可以在不搜索的情况下匹配精确的字符串偏移量?
- 在没有AJAX的情况下搜索JSON数据
- 在不使用多线程 Java 的情况下停止以前的搜索