不管是 java 的虚拟线程还是 go 的 goroutine 或者数据库内部的任务,想在用户态用少量系统线程调度好这些任务,那就必需确保执行任务的所有代码都不会阻塞系统线程。java 的虚拟线程在实际应用中大打折扣,就是因为现有的存量代码多是同步风格的,很容易导致系统线程被阻塞。而 lealone 之所以做得好,是因为数据库这个场景的代码是可控的,并且实现了全链路异步化,执行数据库内部的任务时,至少能保证高频率运行的代码不会阻塞系统线程。
不管是 java 的虚拟线程还是 go 的 goroutine 或者数据库内部的任务,想在用户态用少量系统线程调度好这些任务,那就必需确保执行任务的所有代码都不会阻塞系统线程。java 的虚拟线程在实际应用中大打折扣,就是因为现有的存量代码多是同步风格的,很容易导致系统线程被阻塞。而 lealone 之所以做得好,是因为数据库这个场景的代码是可控的,并且实现了全链路异步化,执行数据库内部的任务时,至少能保证高频率运行的代码不会阻塞系统线程。
No replies yet.