2 wangcong1113 wangcong1113 于 2016.01.28 22:07 提问

大神帮忙,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缓存,求解该如何解决,谢谢!!!

2个回答

wangcong1113
wangcong1113   2016.01.28 22:10

我在使用thread1时,调用procces类的waitfor()方法发生了阻塞,如果不使用的话,一切正常,但程序只执行出了步骤1,没执行出步骤2的结果

holzkoepfer
holzkoepfer   2016.01.28 23:06

你设断点调试一下,看看第一部完成后Sql文件是否存在。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!