C
chenxp3000
Unregistered / Unconfirmed
GUEST, unregistred user!
比如说:我在一个方法(SaveBillData)里面需要创建了3个线程用来更新数据库,它们分别对应三个数据表(tb_a,tb_b,tb_c),每个线程中调用了同一个方法updateDatapack(),该方法有一个返回值说明更新数据表是否成功,例如:Ret :=updateDatapack() ,if Ret='0' then
成功,else
失败!由于需要保证事物,所以判断保存是否成功需要同时知道三个线程的返回值才能确定,请问如何把这个三个线程的执行结果(Ret)返给saveBillData呢?然后再由(SaveBillData)决定需要commit还是rollback.希望能说得具体一些。
备注:Synchronize方法我用了,但是该方法是用来同步线程根VCL的,我希望在调用(SaveBillData)时,三个线程A,B,C执行结束完能把Ret返给(SaveBillData)然后(SaveBillData)再接着往下处理。现在问题是等三个线程执行完以时,方法(SaveBillData)也早就执行完了。用什么方法能让(SaveBillData)挂起,等三线程执行完后(SaveBillData)再继续。谢谢
成功,else
失败!由于需要保证事物,所以判断保存是否成功需要同时知道三个线程的返回值才能确定,请问如何把这个三个线程的执行结果(Ret)返给saveBillData呢?然后再由(SaveBillData)决定需要commit还是rollback.希望能说得具体一些。
备注:Synchronize方法我用了,但是该方法是用来同步线程根VCL的,我希望在调用(SaveBillData)时,三个线程A,B,C执行结束完能把Ret返给(SaveBillData)然后(SaveBillData)再接着往下处理。现在问题是等三个线程执行完以时,方法(SaveBillData)也早就执行完了。用什么方法能让(SaveBillData)挂起,等三线程执行完后(SaveBillData)再继续。谢谢