Async DB在不使用线程的情况下写入

时间:2017-11-10 07:47:16

标签: java multithreading events asynchronous nio

在我当前的项目中,如果需要异步写入db(记录一些数据),我们正在使用线程池执行程序。 因为它只是一个IO操作而不是为每个写调用使用线程,所以我们可以使用类似于事件驱动机制的东西。 单个线程将在while循环中运行并且将使异步db call.similar与java NIO完成网络调用。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

不,无论你做什么,你都需要至少一个线程。如果你有一个driver that uses NIO,你仍然会有一个额外的线程运行select()

我不确定你是如何在当前项目中实现它的,但即使使用执行程序(如建议的那样,SingleThreadExecutor就足够了)它也不应该非常复杂。