Advertisement

C++服务器开发与多线程编程(基础版)

阅读量:

为何选择多线程技术实现服务器架构?

(1)现阶段计算机硬件的单核性能提升已趋于饱和

(2)多线程技术具备其独特的优势

(3)相关应用编程接口日趋完善,操作系统及标准库均提供了对多线程的支持

在进行多线程编程时,需重点掌握两个方面:数据处理与数据输入输出。简而言之,即高效地完成数据运算与信息交互。

服务器开发过程中面临的主要挑战在于如何在数据输入输出与计算任务之间取得合理平衡。

多线程编程方式,即multithread,在使用不当的情况下可能引发一系列问题,这些问题与不合理使用goto语句所导致的后果类似:

(1)程序陷入死锁状态

(2)操作顺序混乱

(3)*(通常难以察觉)因并发访问共享数据而产生的问题(如数据紊乱、已释放资源被再次占用、系统资源未能及时释放)

(4)整体运行效率低下

在实际开发过程中,为避免上述问题采取了一些预防措施,但有时这些措施反而会对执行效率造成一定影响。

高级接口:(asyunc,future)

基础接口:(thread,mutex)

复制代码
 //简单的multithread多线程程序

    
 //打印hello world
    
 //learnthread.cpp
    
  
    
 #include<iostream>
    
 #include<thread>
    
 using namespa

全部评论 (0)

还没有任何评论哟~