版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
复习-共享内存共享内存使用1:ftok使用某个文件做关键字创建key2:shmget使用key创建(打开)共享内存shmid3:shmat打开(映射)共享内存.(attach)4:使用(读写)共享内存5:shmdt释放共享内存.(detach)6:shmctl删除共享内存复习-多线程编程多线程创建pthread_create(&threadId,&attr,threadFun,&args)pthread_join(threadId,&pRet)阻塞等待线程结束pthread_exit(&ret)复习-多线程编程线程属性pthread_attr_init(pthread_attr_t*attr)pthread_attr_setXXX(&attr,XXX)pthread_attr_getXXX(&attr,XXX)pthread_attr_destroy(pthread_attr_t*attr)分离属性:detachstate
可连接,不可连接调度策略:schedpolicy
分时调度,先到先得,时间片轮转复习-多线程编程线程属性优先级:schedparam
优先级值structsched_paramparam.sched_priority继承性:inheritsched继承父进程调度属性,不继承父进程调度属性作用域:scope系统调度,用户调度复习-多线程编程线程互斥pthread_mutex_tmutexpthread_mutexattr_tattrpthread_mutexattr_settype(&attr,type)pthread_mutexattr_gettype(&attr,&type)普通锁:NORMAL,DEFAULT检错锁:ERRORCHECK不阻塞嵌套锁:RECURSIVE允许同线程多次锁定复习线程互斥pthread_mutex_init(&mutex,&attr)pthread_mutex_lock(&mutex)pthread_mutex_trylock(&mutex)pthread_mutex_unlock(&mutex)复习-网络通信TCP通信-serverstructsockaddr_inaddrsocklen_taddrlen=sizeof(addr)fd=socket(PF_INET,SOCK_STREAM,0)iRet=bind(fd,(structsockaddr*)&addr,sizeof(addr))iRet=listen(fd,num)clientfd=accept(fd,(structsockaddr*)&addr,&addrlen)iLen=read(clientfd,szBuf,BUFSIZ)iLen=write(clientfd,szSnd,BUFSIZ)复习-网络通信TCP通信–clientfd=socket(PF_INET,SOCK_STREAM,0)iRet=connect(fd,(structsockaddr*)&addr,sizeof(addr))iLen=write(fd,szBuf,BUFSIZ)iLen=read(fd,szBuf,BUFSIZ)复习-网络通信UDP通信-server/clientfd=socket(PF_INET,SOCK_DGRAM,0)iRet=bind(fd,&addr,sizeof(addr))iLen=sendto(fd,szBuf,BUFSIZ,0,&destAddr,addrlen)iLen=recvfrom(fd,szBuf,BUFSIZ,0,&srcAddr,&addrlen)复习-网络通信底层数据报抓取fd=socket(PF_INET,SOCK_RAW,
IPPROTO_TCP)iRet=bind(fd,(structsockaddr*)&addr,sizeof(addr))iLen=read(fd,szBuf,BUFSIZ)pIpHeader=(IP_HEADER*)szBufpTcpHeader=(TCP_HEADER*)(szBuf+sizeof(IP_HEADER))复习-并发通信select模型fd_setfdset监控集合FD_ZERO(&fdset)清空集合(初始化)FD_SET(fd,&fdset)增加fd到监控集合select(maxfd+1,&fdset,NULL,NULL,NULL)监控FD_ISSET(fd,&fdset)fd被监控到可读复习-并发通信poll模型structpollfdfds[num]定义轮询集合fds[i].fd=fd设置轮询监控fdfds[i].events=POLLIN设置轮询监控事件poll(fds,num,-1)轮询监控fds[i].revents&POLLINfds[i]事件到达复习-并发通信epoll模型epfd=epoll_create(size)创建监控管理fdstructepoll_eventevev.events=EPOLLIN监控的事件ev.data.fd=fd监控的fdepoll_ctl(epfd,EPOLL_CTL_ADD,fd,&ev)增加监控structepoll_eventevs[maxEvs]并发处理量num=epoll_wait(epfd,evs,maxEvs,-1)监控复习-并发通信epoll模型for(i=0;i<num;i++){//evs[i].data.fd文件描述符处理}复习–数据库数据库操作MYSQLconn;mysql_init(&conn)mysql_real_connect(&conn,HOST,USER,PASS,DB_NAME,0,NULL,0)复习–数据库数据库操作mysql_real_query(&conn,sqlStr,strlen(sqlStr))MYSQL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年矿业权抵押融资合同示范3篇
- 二零二五年新型环保栏杆研发、生产安装合同3篇
- 二零二五版矿业权转让与安全生产监管服务合同集3篇
- 二零二五版建筑工程BIM模型优化与交付合同3篇
- 二零二五年混凝土施工安全生产责任书合同3篇
- 二零二五版挂靠出租车绿色出行奖励合同3篇
- 提前终止2025年度租赁合同2篇
- 商铺售后返租合同纠纷的司法解释与实践(2025年版)2篇
- 二零二五版畜禽养殖合作经营合同书3篇
- 二零二五年度废旧玻璃回收利用合同书3篇
- 挖掘机运输方案
- 民企廉洁培训课件
- 飞书使用培训课件
- 食品生产许可证办理流程详解
- 2023年1月自考07484社会保障学试题及答案含解析
- 餐饮咨询服务合同范本
- 股权投资的基本概念与原理
- 数据交换详细设计说明书
- 最全海外常驻和出差补助管理规定
- 工程质保金返还审批单
- 【可行性报告】2023年电动自行车项目可行性研究分析报告
评论
0/150
提交评论