择善教育-linux阶段复习_第1页
择善教育-linux阶段复习_第2页
择善教育-linux阶段复习_第3页
择善教育-linux阶段复习_第4页
择善教育-linux阶段复习_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

复习-共享内存共享内存使用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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论