问题描述
- 大神帮忙,java调用sqlplus之后,如何实现多线程
-
1.java调用sqlplus将数据库信息写入本地sql文件(我用的是spool命令将数据库download到本地)
2.在java环境中使用这个本地sql文件,
即上述2个步骤在一个main函数中完成。
我在实际操作中,第二步操作报的错是找不到这个本地sql文件,我猜想可能是第一步没完成的时候,第二步已经开始执行,所以我想用多线程并发。
我将上面2个步骤用2个进程thread1,thread2,因为步骤2必须等步骤1结束才能执行,所以我调用thread1.start(),thread1.join(),以及thread2.start()
但实际情况是线程1阻塞了,有人说我没用清除sqlplus缓存,求解该如何解决,谢谢!!!
解决方案
我在使用thread1时,调用procces类的waitfor()方法发生了阻塞,如果不使用的话,一切正常,但程序只执行出了步骤1,没执行出步骤2的结果
解决方案二:
你设断点调试一下,看看第一部完成后Sql文件是否存在。
时间: 2025-01-02 03:01:00