- 博客(3)
- 收藏
- 关注
原创 Linux多线程编程
线程是轻量级的进程,切换成本低,效率高(上下文切换快,启动更廉价),共享进程的的资源所以内存开销小。进程是资源分配的最小单位,线程是操作系统执行调度的最小单位。多线程是指在一个进程里同时运行多个独立的线程。他们共享进程的资源,但有各自的执行路径,能提高程序运行的效率。可通过给不同线程设置优先级,运用于实时操作系统中的实时抢占等地方。在复杂任务时一般线程数量和CPU核心数相同比较合适。注:主线程执行完毕后就会释放内存空间,包括子线程。
2025-10-01 16:58:39
1734
原创 基于多线程并发的socket套接字通信
回忆上一篇文章中提到的listen()函数有两个参数,其中第二个参数为同时监听链接请求的数量。显而易见对于服务器来说,他不会只为某一个客户端提供“服务”,这也就意味着他需要同时处理多个客户端的链接请求与接收发送数据等等操作,而单线程通信时,服务器在处理一个客户端(比如连接,处理数据)时会阻塞主线程,导致其他客户端无法被及时响应。
2025-09-28 16:08:22
641
原创 TCP UDP的socket套接字编程学习
TCP与UDP均工作于传输层,TCP是有连接的,安全的,注重数据完整性;这些特点也导致了两者的使用途径的不同,TCP用于数据比较重要,但是不注重时效性的数据,而UDP则用于数据丢包后影响较小的地方。sockfd为套接字描述符,参数一int domain:AF_INET为协议族,可选AF_INET(IPv4),AF_INET6(IPv6);(struct sockaddr*)&addr:本地IP地址结构体指针(转换为struct socket*类型)sizeof(addr):IP地址结构体的大小;
2025-09-22 19:11:48
1403
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅