17-并发服务器设计(并发、同步、互斥的区别)
来源:互联网 发布:开源直播app源码 编辑:程序博客网 时间:2024/06/16 22:27
- 一实现并发的方法
- 二使用多进程实现并发
一、实现并发的方法
1. 多进程,多线程,线程池
二、使用多进程实现并发
#define PORTNUM 5555int main(){ int sockfd , newfd ; char buffer[128] ; int nbyte ; struct sockaddr_in server_addr ; struct sockaddr_in client_addr ; if( -1==(sockfd=socket(AF_INET,SOCK_STREAM,0)) ){ printf("create socket error! \n") ; exit(1) ; } bzero(&server_addr,sizeof(struct sockaddr_in)) ; server_addr.sin_family = AF_INET ; server_addr.sin_port = htons(PORTNUM) ; server_addr.sin_addr.s_addr = htonl(INADDR_ANY) ; bind(sockfd,(struct sockaddr *)&server_addr,sizeof(struct sockaddr)) ; listen(sockfd,5) ; int pid ; while(1){ int size = sizeof(struct sockaddr) ; newfd = accept(sockfd,(struct sockaddr *)(&client_addr),&size ) ; printf("server get connect from :ip:%s\n",inet_ntoa(client_addr.sin_addr)) ; if( 0==(pid=fork()) ) { nbyte = recv( newfd , buffer , 127 , 0 ) ; buffer[nbyte] = '\0' ; printf( "server received is : %s \n",buffer ) ; close(newfd) ; close(sockfd) ; exit(0) ; }else if(pid<0) { printf("fork error\n") ; } } close(sockfd) ; return 0 ;}
0 0
- 17-并发服务器设计(并发、同步、互斥的区别)
- 互斥 同步 异步 并发 多线程的区别与联系
- 并发 互斥 并行 同步 异步 多线程的区别
- 并发进程的同步与互斥
- 并行、并发、同步、互斥
- 并发,并行,同步,互斥
- 并发执行,进程同步,进程互斥,异步,并行,多线程的区别
- 操作系统精髓与设计原理学习笔记五:并发性(互斥和同步)
- java同步和互斥 : 共享数据的并发处理
- 并发,同步,异步,互斥,阻塞,非阻塞的理解
- Java世界里的同步、协作、互斥、高并发
- 并发,同步,异步,互斥,阻塞,非阻塞的理解
- 并发服务器的设计
- 多线程并发编程(三):多线程同步互斥Synchronized
- Java多线程基础(并发、线程安全、同步、互斥)
- 并发性:互斥和同步
- 并发性:互斥和同步
- 【Java】线程并发、互斥与同步
- Android控件SwipeRefreshLayout实现下拉刷新上拉加载
- C# 抽象类
- 安卓工具类之app获取版本渠道信息工具类
- c++ 学习笔记--模板与标准模板库(一)
- phantomjs 入门尝试
- 17-并发服务器设计(并发、同步、互斥的区别)
- POJ 3928
- 2017北交校赛总结
- 教你如何把man的内容保存下来,而且不会存在乱码
- 【C#基础知识点】——结构(if else-if、switch-case)
- 剑指Offer——(1)二维数组中的查找
- 赛码网-基本算法-3.纳德尔测试
- 报错Execution failed for task ':app:transformClassesWithDexForDebug'.
- cisco NTP 故障