多线程网络编程

本文对比了多线程与多进程编程的特点。多线程在同一进程中共享资源,提高了数据共享效率;而多进程则独立运行,资源消耗更大。文章强调了多线程在资源管理上的优势,并指出了实现时应注意的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  与多进程编程对比:

      1 创建多进程相比起创建多线程会 消耗大量的系统资源

      2 进程结束比起线程结束,释放的资源也更多,子进程很快结束,系统负担加重

      3.多线程由于在同一个进程中,很多资源是共用的。所以线程间数据共享也非常高效快捷。

需要注意的两点是:

        1.由于多线程在一个进程中,一个进程只有一个pcb,因此不需要考虑主线程和函数线程没有全部close,占用描述符的问题。主线程和函数线程只用其中一个close就好,一般是由函数线程完成具体的收发数据后与客户端断开链接时用close,不能主线程close

        2.主线程创建函数进程时传入的参数为描述符。描述符要值传递,不可地址传递,因为下一次循环后,这个c就失效或者改变了,如果地址传递的话就不能正确打开连接了。

       其实和多进程编程大同小异,多进程是服务器fork子进程 ,多线程是服务器主线程main pthread_create函数线程。

   

服务器代码





客户端代码:




结果




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值