
多线程
文章平均质量分 61
Helloguoke
这个作者很懒,什么都没留下…
展开
-
多线程死锁
一、死锁的四个必要条件: (1) 互斥条件:一个资源每次只能被一个进程使用。 (2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 (3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。 (4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。 二、编程中死锁产生的几种情况 (1)忘记释放锁 (2)单线程重复申请锁 (3)转载 2016-03-05 16:09:00 · 695 阅读 · 0 评论 -
多线程使用总结
1.多线程与多进程使用场景 多进程模型是用于每个进程干自己的事,互相不影响;多线程模型是用于所有线程协调干一件事,每个线程负责一个部分。 多线程模型中的线程,彼此的工作内容应该是不同的,同时又是互补的,大家完成的是同一件事的不同部分。基于这样的理解进行设计,就不存在“人弹”的可能性。 所以在一般通讯服务程序的场合,绝对应该使用多进程模型。 进程与线程,看着相似,实际的出发点和作原创 2016-04-05 18:54:09 · 407 阅读 · 0 评论 -
多线程优点及同步方式
一、多线程优点 1.通常启动一个进程,要为该进程分配独立的地址空间,建立多个数据表来维护进程的代码段、堆栈段和数据段,比较耗费系统资源。一个进程创建多线程可以使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于进程所需空间,而且启动线程花费的时间也比进程花费时间少很多。 2.线程间通讯方便,以为线程之间具有共同的地址空间,共享大部分数据资源 3.提高应用响应速度,将耗时工作放原创 2016-07-31 16:58:24 · 1288 阅读 · 0 评论 -
进程间通讯方式
1.文件描述符和命令行参数,父进程创建子进程时,一次性传递给子进程,只能通讯一次 2.共享内存 3.管道 匿名管道只能用于关系进程 命名管道可用于非关系进程 4.socket通信,可用于不同主机间进程间通讯原创 2016-07-31 17:18:44 · 335 阅读 · 0 评论 -
孤儿进程与僵尸进程
1.基本概念 孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。 僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。 2.原创 2016-07-31 21:22:08 · 451 阅读 · 0 评论 -
Linux查看进程所使用资源限制
查看方法:ulimit -a 软限制 下面是Ubuntu12.04 x64系统下,进程资源限制情况: core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size原创 2016-08-05 18:41:18 · 3320 阅读 · 0 评论 -
线程池
IBM的一篇技术文档:http://www.ibm.com/developerworks/cn/java/l-threadPool/index.html 服务器程序利用线程技术响应客户请求已经司空见惯,可能您认为这样做效率已经很高,但您有没有想过优化一下使用线程的方法。该文章将向您介绍服务器程序如何利用线程池来优化性能并提供一个简单的线程池实现。 线程池的技术背景 在面向对象编程中,创建原创 2016-08-13 10:29:08 · 368 阅读 · 0 评论