请教java线程使用的一个问题

在web项目中。
假设在页面上点了A按钮,然后后台某种需求,新建了A线程,干某件事。
过了一会儿。我再点A按钮,又会启动一个新线程,干同一件事。
请问一下,这样做好不好?
或者说在后面点A按钮的时候,直接使用A线程干事而不是重新创建。
请问这样做行不行?行的话怎么弄。
谢谢

看你的线程是干嘛用的。
如果你的线程只有一个单一的事件待解决(比如说要执行一个大量计算的函数,但不想阻塞主界面),这样做可以,但是这时候可能使用线程池更适合。
如果你的线程是要一直活着并长期处理某个任务的话(比如说等待一个socket的连接,并且不知道连接什么时候会来),这样做不妥,应该和原线程通讯,把新的任务加进去。

那看你两次的点击是因为延迟卡顿导致用户再次点击,还是本事就有两个相同的操作请求,而去点击的

那看你两次的点击是因为延迟卡顿导致用户再次点击,还是本事就有两个相同的操作请求,而去点击的

两个相同的请求。排除卡顿的情况,可能上午10点点一次。下午4点点一次。可能隔个5,6天再点一次。

关键问题就是你干的什么事情,不同的事情需要不同的情况处理。

点击频率不高且线程内部逻辑不复杂可以较快执行完的,没必要修改,每次new一个线程就行,这样对服务器不会有压力
如果是点击频率很高,或者线程生命周期很长,那就需要根据业务需求调整。
非阻塞要求的,最好使用线程池,节省线程开销;阻塞要求的,可以使用单一线程,线程内加锁,执行完释放。

前后两次启动同一个线程可能会对当前操作造成干扰。可以采用多个线程处理或重新启动