Java:线程无限循环

Java:线程无限循环,java,infinite-loop,single-threaded,Java,Infinite Loop,Single Threaded,我想编写一个程序,用于轮询特定表中的新条目,并将它们写入消息队列 我正在考虑编写一个线程,它将无限循环并尝试获取数据库独占的锁和线程。如果未获取锁,将调用sleep() 然后在获取lock后,如果在数据库中找不到新记录,将再次调用thread.sleep()。 线程是实现这一点的最佳方式,还是应该使用类似计时器的方式 编辑:基本上,问题归结为:如果我需要使用java轮询oracle数据库,我应该写一个线程,还是写一个计时器/调度执行器/触发器之类的东西?锁定生产中使用的表是个坏主意。我建议只在原

我想编写一个程序,用于轮询特定表中的新条目,并将它们写入消息
队列

我正在考虑编写一个
线程
,它将无限循环并尝试获取数据库独占的
线程。如果未获取
,将调用sleep()

然后在获取
lock
后,如果在数据库
中找不到新记录,将再次调用thread.sleep()
。 线程是实现这一点的最佳方式,还是应该使用类似计时器的方式


编辑:基本上,问题归结为:如果我需要使用java轮询oracle数据库,我应该写一个线程,还是写一个计时器/调度执行器/触发器之类的东西?

锁定生产中使用的表是个坏主意。我建议只在原始表中插入新条目时,创建一个触发器表并在触发器表中添加条目。现在您可以在触发器表上使用您的方法

“有更好的方法吗?”这些问题不适合堆栈溢出。您最好自己编写一些代码并将其发布到。现在,每天与轮询或长轮询相关的每项任务都被认为是一种不好的做法。。。你应该向一些听众了解这一点…@ΦXocę웃Пepeúpaツ 你能详细说明一下吗?谢谢。但是我仍然需要对触发器表进行锁定,并且一旦轮询器拾取了表中的一列,它就需要更新。您需要对触发器表进行锁定,但您创建该表只是为了这些目的。为什么需要更新原始表中的列?我的意思是我仍然需要锁定触发器表,因为触发器表中有一列需要更新。无论如何,我的主要问题不是锁。这是关于无限循环线程是否是轮询表的最佳方式。