01 2014 档案
摘要:一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁, 而是留下一个称为僵死进程(Zombie)的数据结构(系统调用exit,它的作用是使进程退出,但也仅仅限于将一个正常的进程变成一个僵死进程,并不能将其完全销毁)。一、僵死进程的产生在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等,但是仍然为其保留一定的信息(包括进程号the process ID,退出状态thetermination status of the process,运行时间the amount of CPU time taken by the process等), 直到父进程通过w
阅读全文
摘要:功能介绍: 此demo是基于TCP套接字编程,目的是实现一个聊天室效果。类似于QQ群效果,如果上线可以通知其他好友,下线也会通知其他好友。 需要用的技术: 一、socket编程。 1> socket 网络编程常识:既要考虑客户端 又要考虑服务器端。 2>TCP 一对多开发步骤: 服务端: ①:创建s
阅读全文
摘要:信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这个资源。比如对全局变量的访问,有时要加锁,操作完了,在解锁。有的时候锁和信号量会同时使用的”也就是说,信号量不一定是锁定某一个资源,而是流程上的概念,比如:有A,B两个线程,B线程要等A线程完成某一任务以后再进行自己下面的步骤,这个任务并不一定是锁定某一资源,还可以是进行一些计算或者数据处理之类。而线程互斥量则是
阅读全文
摘要:功能描述:1:开户;2:销户;3:存钱;4:取钱;5:查询;6:转账;主要用的技术: 一:消息队列: 1)key_t key = ftok(".",100); //获取key 2)msgid = msgget(key,IPC_CREATE|0666); //创建 msgid = msgget(key,0); //获取 3)msgsnd = msgsnd = (msgid,&msg,sizeof(msg),0); //发送 4)msgrcv = msgrcv = (msgid,&msg,sizeof(msg),0,0); //获取 5)msgt = msgc.
阅读全文

浙公网安备 33010602011771号