Dom*_*nic 19 c++ io multithreading asynchronous
我在一个由"UI开发人员"(我们)和"C++开发人员"(他们)组成的桌面应用程序团队中工作.C++开发人员负责向我们提供我们在UI中显示的所有数据,因此他们可以执行所有IO,数据库访问,Web调用等.
最近我们遇到了一些严重的性能问题,IO阻塞了UI线程.当然,解决方案是使IO异步.但是C++开发人员坚持认为这只能通过生成一个新线程来实现,而我们知道这个线程非常昂贵.
我从Node.js等了解到async IO不需要涉及线程.我知道Win32,可能是Mac,确实有一个事件循环.但是,我不知道C++版本中用于执行异步非线程IO的解决方案是什么.(也许那个libuv是节点的基础?).
任何人都可以指向一些流行的库,或者更好的教程文章,所以我们可以将这个概念引入我们的C++开发人员吗?跨平台(PC和Mac)的奖励积分.如果存在异步非线程数据库解决方案,则会获得更多奖励,因为我相信我们使用SQLite是我们许多问题的根源.
Sam*_*ler 14
提升异步I/O(asio).他们有一个很好的教程和几个例子.它是跨平台的.
归档时间: |
|
查看次数: |
9464 次 |
最近记录: |