
多进程
文章平均质量分 77
jfkidear
这个作者很懒,什么都没留下…
展开
-
linux中fork()函数详解(原创!!实例讲解)
linux中fork()函数详解(原创!!实例讲解)分类: 计算机系统 linux2010-06-01 23:35 13508人阅读 评论(46) 收藏 举报 一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个转载 2012-08-22 11:07:30 · 842 阅读 · 0 评论 -
深刻理解Linux进程间通信(IPC)
深刻理解Linux进程间通信(IPC)一个大型的应用系统,往往需要众多进程协作,进程(Linux进程概念见附1)间通信的重要性显而易见。本系列文章阐述了Linux环境下的几种主要进程间通信手段,并针对每个通信手段关键技术环节给出详细实例。为达到阐明问题的目的,本文还对某些通信手段的内部实现机制进行了分析。5 评论郑彦兴 (mlinux@163.com)国转载 2016-09-17 10:51:09 · 363 阅读 · 0 评论 -
进程的同步与通信,进程与线程同步的区别,进程与线程通信的区别
进程的同步与通信,进程与线程同步的区别,进程与线程通信的区别2013-08-10 15:45:31这两天看进程的同步与通信,看了几本书上的介绍,也从网上搜了很多资料,越看越迷惑,被这几个问题搞得很纠结。进程同步与互斥的区别?进程的同步方式有哪些?进程的通信方式有哪些?进程同步与通信的区别是什么?线程的同步/通信与进程的同步/通信有区别吗?在好多教材上(包括国内与国外的)也没转载 2016-09-17 10:46:39 · 3253 阅读 · 1 评论 -
进程/线程同步的方式和机制,进程间通信
进程/线程同步的方式和机制,进程间通信一、进程/线程间同步机制。临界区、互斥区、事件、信号量四种方式临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资转载 2016-09-17 10:28:46 · 425 阅读 · 0 评论 -
fork函数-文件描述符
fork函数是创建一个新的进程作为原进程的子进程,创建的子进程和父进程存在很多的相似性,首先父子进程的虚拟存储空间的用户空间是相同的,是将父进程的拷贝给子进程。同时父子进程对文件的操作是共享方式。因为父进程的文件描述符表被拷贝给了子进程(具体的原理参虚拟存储器的内容,私有对象写时拷贝实现了父子进程之间形成相互独立的地址空间)。因此父进程打开的所有文件描述符都在子进程中保存了(每个进程都有独立的描述转载 2016-09-17 10:16:37 · 960 阅读 · 0 评论 -
fork之后进程的数据和文件描述符的继承
fork之后进程的数据和文件描述符的继承 2013-12-08 00:00:50分类: C/C++1.fork()、文件和数据用系统 fork() 建立的子进程几乎与其父进程完全一样。子进程中的所有变量均保持它们在父进程中之值(fork()的返回值除外) 。因为子进程可用的数据是父进程可用数据的拷贝,并且其占用不同的内存地址空间,所以必须要确保以后一个进程中转载 2016-09-17 10:14:41 · 3128 阅读 · 0 评论 -
Java 程序死锁问题原理及解决方案
Java 程序死锁问题原理及解决方案本文首先介绍了死锁发生的原因,并通过一个示例解释了死锁发生的前提情况。然后通过 JVM 的 jstack 工具演示了如何确定一个死锁的发生。最后对死锁的预防、恢复等方式进行了解释。0 评论:周 明耀, 技术带头人、项目经理, HikVision2015 年 8 月 24 日内容转载 2016-03-17 13:19:26 · 1277 阅读 · 0 评论 -
深刻理解Linux进程间通信(IPC)
深刻理解Linux进程间通信(IPC)一个大型的应用系统,往往需要众多进程协作,进程(Linux进程概念见附1)间通信的重要性显而易见。本系列文章阐述了Linux环境下的几种主要进程间通信手段,并针对每个通信手段关键技术环节给出详细实例。为达到阐明问题的目的,本文还对某些通信手段的内部实现机制进行了分析。3 评论:郑彦兴 (mlinux@163.com)转载 2014-08-24 22:31:15 · 638 阅读 · 0 评论 -
关于pthread_cond_signal与pthread_cond_broadcast的使用说明
关于pthread_cond_signal与pthread_cond_broadcast的使用说明分类: Java C/C++2006-08-23 10:59 11330人阅读 评论(3) 收藏 举报signal多线程struct 在code review中,我会发现很多人喜欢在pthread_mutex_lock()和pthread_mutex_unlo转载 2014-08-02 21:28:04 · 1657 阅读 · 0 评论 -
Linux环境进程间通信(五): 共享内存(上)
Linux环境进程间通信(五): 共享内存(上)共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。5 评论郑彦兴 (mli转载 2016-09-17 16:24:39 · 603 阅读 · 0 评论 -
Linux环境进程间通信(五): 共享内存(下)
Linux环境进程间通信(五): 共享内存(下)在共享内存(上)中,主要围绕着系统调用mmap()进行讨论的,本部分将讨论系统V共享内存,并通过实验结果对比来阐述两者的异同。系统V共享内存指的是把所有共享数据放在共享内存区域(IPC shared memory region),任何想要访问该数据的进程都必须在本进程的地址空间新增一块内存区域,用来映射存放共享数据的物理内存页面。转载 2016-09-17 21:08:11 · 457 阅读 · 0 评论 -
信号与信号量的区别
信号与信号量的区别: 1.信号:(signal)是一种处理异步事件的方式。信号时比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程外,还可以发送信号给进程本身。linux除了支持unix早期的信号语义函数,还支持语义符合posix.1标准的信号函数sigaction。 2.信号量:(Semaphore)进程间通信处理同步互斥的机制。是在多线程环境下使用转载 2016-11-18 17:21:36 · 2232 阅读 · 0 评论 -
死锁,活锁和饥饿
死锁,活锁和饥饿什么是死锁死锁:是指两个或两个以上的进程(或线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 死锁发生的条件互斥条件:线程对资源的访问是排他性的,如果一个线程对占用了某资源,那么其他线程必须处于等待状态,转载 2016-10-24 16:55:58 · 863 阅读 · 0 评论 -
深入分析Linux自旋锁
深入分析Linux自旋锁 2012-07-05 23:39:36分类:原文地址:深入分析Linux自旋锁 作者:tekkamanninja前言: 在复习休眠的过程中,我想验证自旋锁中不可休眠,所以编写了一个在自旋锁中休眠的模块。但是在我的ARMv7的单核CPU(TI的A8芯片)中测试的时候,不会锁死,并且自旋锁可以多次获转载 2016-10-11 17:41:01 · 369 阅读 · 0 评论 -
自旋锁
自旋锁 编辑本词条缺少信息栏、名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!自旋锁是专为防止多处理器并发而引入的一种锁,它在内核中大量应用于中断处理等部分(对于单处理器来说,防止中断处理中的并发可简单采用关闭中断的方式,即在标志寄存器中关闭/打开中断标志位,不需要自旋锁)。目录1 概念2 自旋锁-原理3 自旋锁-实转载 2016-10-11 17:31:00 · 484 阅读 · 0 评论 -
进程上下文VS中断上下文
进程上下文VS中断上下文内核空间和用户空间是现代操作系统的两种工作模式,内核模块运行在内核空间,而用户态应用程序运行在用户空间。它们代表不同的级别,而对系统资源具有不同的访问权限。内核模块运行在最高级别(内核态),这个级下所有的操作都受系统信任,而应用程序运行在较低级别(用户态)。在这个级别,处理器控制着对硬件的直接访问以及对内存的非授权访问。内核态和用户态有自己的内存映射,即转载 2016-10-11 17:29:46 · 546 阅读 · 0 评论 -
使用 GDB 调试多进程程序
使用 GDB 调试多进程程序 2008-04-14 00:00:27分类: LINUX级别: 中级田 强 (tianq@cn.ibm.com), 软件工程师, IBM中国软件开发中心2007 年 7 月 30 日GDB 是 linux 系统上常用的调试工具,本文介绍了使用 GDB 调试多进程程序的几种方法,并对各种方法进行比较转载 2016-09-19 20:21:53 · 418 阅读 · 0 评论 -
gdb调试多进程和多线程命令
gdb调试多进程和多线程命令标签: 多线程threaddebuggingnullcentosfile2012-08-17 12:27 19907人阅读 评论(2) 收藏 举报 分类:linux(59) 版权声明:本文为博主原创文章,未经博主允许不得转载。1. 默认设置下,在调试多进程程序时GDB只会调试主进程。但是GDB(>V7.转载 2016-09-19 20:17:28 · 712 阅读 · 0 评论 -
临界区,互斥量,信号量,事件的区别
临界区,互斥量,信号量,事件的区别标签: nullfuniostreamattributesmfcsemaphore2012-05-14 14:20 3984人阅读 评论(0) 收藏 举报 分类:MFC(139) 版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]临界区转载 2016-09-19 09:42:05 · 1447 阅读 · 0 评论 -
守护进程
守护进程编辑在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进程。为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。 守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。转载 2014-05-17 10:57:05 · 617 阅读 · 0 评论 -
linux 有名管道(FIFO)
linux 有名管道(FIFO)分类: C/C++ Linux编程2012-11-01 17:14 983人阅读 评论(0) 收藏 举报目录(?)[+]无名管道应用的一个重大限制是它没有名字,因此,只能用于具有亲缘关系的进程间通信,在有名管道(named pipe或FIFO)提出后,该限制得到了克服。FIFO不同于管道之处在于它提供一个路径名与之转载 2014-05-17 10:38:50 · 740 阅读 · 0 评论 -
Linux下的多进程间共享资源的互斥访问
Linux下的多进程间共享资源的互斥访问分类: Linux编程2010-05-04 19:21 1748人阅读 评论(0) 收藏 举报把源代码运行一遍就知道了[cpp] view plaincopy#include #include #include #include转载 2013-02-22 17:52:24 · 1280 阅读 · 0 评论 -
多进程编程——记录锁
多进程编程——记录锁分类: Linux程序设计2011-09-09 00:39 795人阅读 评论(0) 收藏 举报多进程编程的核心技术是进程间的同步——通信与互斥访问一、进程间的通信1、管道2、System V信号量3、共享内存4、消息队列5、信号 6、套接字二、进程间对资源的互斥访问条件变量信号量读写锁(记录锁)自转载 2013-02-22 17:51:51 · 463 阅读 · 0 评论 -
自旋锁
自旋锁是专为防止多处理器并发而引入的一种锁,它在内核中大量应用于中断处理等部分(对于单处理器来说,防止中断处理中的并发可简单采用关闭中断的方式,即在标志寄存器中关闭/打开中断标志位,不需要自旋锁)。目录概念自旋锁-原理自旋锁-实例初衷基本形式展开概念自旋锁-原理自旋锁-实例初衷基本形式展开转载 2013-02-22 17:59:24 · 789 阅读 · 0 评论 -
Linux进程-进程的退出
Linux进程-进程的退出 2011-12-27 20:44:56分类: LINUXvoid _exit(int status)注意点:1.status表明了进程终止时的状态。当子进程使用_exit()后,父进程如果在用wait()等待子进程,那么wait()将会返回status状态,注意只有status的低8位(0~255)会返回给父进程。通常,我们使用0,表示进转载 2013-02-21 15:05:48 · 932 阅读 · 0 评论 -
Linux 上实现双向进程间通信管道
Linux 上实现双向进程间通信管道吴咏炜 (adah@sh163.net), 开发者简介: 本文阐述了一个使用 socketpair 系统调用在 Linux 上实现双向进程通讯管道的方法,并提供了一个实现。发布日期: 2004 年 9 月 01 日 级别: 初级 访问情况 : 7329 次浏览 评论: 1 (查看 | 添加评转载 2013-02-21 13:26:40 · 538 阅读 · 0 评论 -
2012亲身的面试题目
2012亲身的面试题目分类: 算法/面试题2012-09-16 15:41 358人阅读 评论(1) 收藏 举报目录(?)[+] 一、前言(1)2012年经济不景气,身为软件工程师这次我体会到了找工作的难。炎热的七月,找工作真是件费劲的事情;一个下午接到好几个电话,问到的问题真的另人头疼。(2)由于从车载行业转到互联网行业,且想拿转载 2013-02-20 00:23:47 · 1491 阅读 · 0 评论 -
GDB调试信号、多线程、多进程
GDB调试信号、多线程、多进程2011-07-05 14:35 1058人阅读 评论(1) 收藏 举报GDB的功能很强大,本文主要介绍用GDB来调试信号、多进程、多线程,具体如下:(一)信号GDB有能力在你调试程序的时候处理任何一种信号,你可以告诉GDB需要处理哪一种信号。你可以要求GDB收到你所指定的信号时,马上停住正在运行的程序,以供你进行调试。你可以用GDB的ha转载 2012-08-23 23:48:29 · 1315 阅读 · 0 评论 -
如何使用gdb调试多进程 (attach方法)
如何使用gdb调试多进程 (attach方法)分类: linux2011-09-13 15:11 426人阅读 评论(0) 收藏 举报[测试程序]我们先看看我们的测试程序:/* in eg1.c */int wib(int no1, int no2){ int result, diff; diff = no1 -转载 2012-08-23 23:45:00 · 23215 阅读 · 0 评论 -
进程间关系:进程、僵尸进程、孤儿进程、进程组、前台进程组、后台进程组、孤儿进程组、会话、控制终端
不同的shell对使用管道线时创建子进程的顺序不同,本文以bash为例,它是支持作业控制的shell的典型代表。僵尸进程与孤儿进程僵尸进程:先于父进程终止,但是父进程没有对其进行善后处理(获取终止子进程有关信息,释放它仍占有的资源)。消灭僵尸进程的唯一方法是终止其父进程。孤儿进程:该进程的父进程先于自身终止。其特点是PPID=1(init进程的ID)。一个孤儿进程可以自成孤儿进转载 2013-02-27 17:27:20 · 863 阅读 · 0 评论 -
四种进程或线程同步互斥的控制方法
很想整理一下自己对进程线程同步互斥的理解。正巧周六一个刚刚回到学校的同学请客吃饭。在吃饭的过程中,有两个同学,为了一个问题争论的面红耳赤。一个认为.Net下的进程线程控制模型更加合理。一个认为Java下的线程池策略比.Net的好。大家的话题一下转到了进程线程同步互斥的控制问题上。回到家,想了想就写了这个东东。现在流行的进程线程同步互斥的控制机制,其实是由最原始最基本的4种方法实现的。由这4转载 2013-03-26 22:51:11 · 614 阅读 · 0 评论 -
setEvent()
setEvent() 2010-06-12 15:16:47| 分类: Windows编程|举报|字号 订阅// setEvent.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include HANDLE zthre转载 2014-01-21 16:49:18 · 1372 阅读 · 1 评论 -
CreateEvent
CreateEvent编辑CreateEvent是一个Windows API函数。它用来创建或打开一个命名的或无名的事件对像。如果想为对象指定一个访问掩码,应当使用CreateEventEx函数。目录1语法2参数3返回值4备注5示例6使用环境转载 2014-01-21 16:46:24 · 1521 阅读 · 0 评论 -
SetEvent/ResetEvent
SetEvent/ResetEvent分类: Visual C++ 20082011-08-30 10:07 1910人阅读 评论(0) 收藏 举报winapinullthreadobjectsystem 在自动重置事件对象中,当WaitSingleObject/WaitForMultipleObjects接收到SetEvent发送过来的信号后则返回WAIT_OB转载 2014-01-21 16:45:34 · 950 阅读 · 0 评论 -
ResetEvent
ResetEvent编辑ResetEvent这个函数把指定的事件对象设置为无信号状态。BOOL ResetEvent(HANDLE hEvent);参数说明:hEvent[in] 指向事件对象的句柄.由 CreateEvent or OpenEvent 函数返回。 这个句柄需要拥有EVENT_MODIFY_转载 2014-01-21 16:03:39 · 899 阅读 · 0 评论 -
WaitForSingleObject
WaitForSingleObject编辑当等待仍在挂起状态时,句柄被关闭,那么函数行为是未定义的。该句柄必须具有 SYNCHRONIZE 访问权限。目录1对应函数2说明▪ 参数▪ 返回值1对应函数编辑VB声明DWORD WaitForSingle转载 2014-01-21 16:00:56 · 1066 阅读 · 0 评论 -
setevent
setevent编辑目录1简介2说明3用法4使用环境1简介编辑CEvent::SetEventBOOL SetEvent(HANDLE hEvent);其中hEvent表示句柄,返回值:如果操作成功,则返回非零值,否则为0。Win32系统编程API转载 2014-01-21 16:00:07 · 1122 阅读 · 0 评论 -
Windows同步机制
Windows同步机制分类: Windows 内核2011-10-09 10:03 374人阅读 评论(0) 收藏 举报windowswinapinulltoolsfunsemaphore 在多线程程序设计中,不可避免地面临着同步问题。在Win32中,有以下四种同步机制。 1、临界区 - Critical Section转载 2014-01-21 15:21:03 · 830 阅读 · 0 评论 -
windows同步对象小结
windows同步对象小结 在windows平台下,用于对多线程(包括进程)之间的同步保护机制,基本上有这么几种:1)Critical Section对象 2)Event对象 3)Mutex对象 4) Semaphore对象。网上已经有很多的文章在介绍这些对象是怎么使用的。本文的着眼点在于:总结出这些同步保护机制的一些明显的行为特征,而这些行为特征,也是我们再写程序时经常会转载 2014-01-21 15:14:34 · 675 阅读 · 0 评论 -
linux几种创建进程的方法
linux几种创建进程的方法标签: 进程linux2014-03-24 13:06 750人阅读 评论(0) 收藏 举报 分类:进程 Linux(1) 转自:http://blog.youkuaiyun.com/zjg555543/article/details/7419098在Linux中主要提供了fork、vfork、clone三个进程创建方转载 2016-11-20 17:15:44 · 627 阅读 · 0 评论