
Java线程等待数据库查询结果时的状态
在MyBatis框架下,当线程执行一次普通的查询请求时,如果时间片充足,那么线程在结果返回之前不会进入WAITING状态。
WAITING状态是在调用某些特定方法时才会进入的,例如:
AI 舌诊面诊问诊医疗系统 + 诊疗商城系统源码是一套结合 AI 辅助诊断与商品转化的健康类程序,基于浩创云、ThinkPHP(PHP)开发,支持微信服务号与 H5 端,适合做中医舌诊面诊问答、健康建议推送以及配套诊疗商品的运营。
- wait()
- join()
- sleep()
在线程调用这些方法时,当前线程会释放其持有的所有锁并进入WAITING状态,直到特定的条件满足后(例如时间到了或者被唤醒),才会重新获得锁并继续执行。
在普通查询请求的情况下,线程不会调用这些方法,因此也不会进入WAITING状态。线程会一直等到结果返回并准备好被处理为止,此时它会切换到RUNNING状态。
由此可见,MyBatis框架下的线程在进行普通查询请求时并不会进入WAITING状态。

















