多线程任务中,怎样判断当前线程数量是否达到上限?
怎样判断跑多少个线程可以最大化的压榨 CPU 的能力?压力测试还是什么?平时自己做都是依次增加线程数来手测的,有没有自动化的方法?
PS:因为存在网络通讯,程序应该是 IO 密集型。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
怎样判断跑多少个线程可以最大化的压榨 CPU 的能力?压力测试还是什么?平时自己做都是依次增加线程数来手测的,有没有自动化的方法?
PS:因为存在网络通讯,程序应该是 IO 密集型。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
有个库叫
libdispatch
,对该技术更通俗的一种称呼叫作Grand central dispatch。这是苹果(对,就是卖iPhone的那个)对BSD系统下kqueue的一种封装,就可以做到自动的线程控制。这个库本身可以被用作纯C的库,在BSD、Linux、Windows下都有,如果采用clang作为编译器的话也可以使用block的扩展,更为方便。