Linux进程/线程
drinkingcode
分享好玩科技,探索未知世界
展开
-
进程间同步---system v ipc 对象信号灯集
一、信号灯简介Linux支持System V的信号灯(semaphore),是一种进程间通信的方式,只不过它和管道、FIFO或者共享内存不一样,信号灯主要用于同步或者互斥对共享资源的访问,它的发明来源于火车运行系统中的"信号灯",利用信号灯可以实现"PV"操作这种进程间同步进制。P操作时获得资源,将信号灯的值减1,如果结果不为负则执行完毕,进程获得资源,否则进程睡眠以等待的进程释放;V操作则是释放转载 2015-10-10 10:47:57 · 428 阅读 · 0 评论 -
程序的链接和装入及Linux下动态链接的实现
程序的链接和装入存在着多种方法,而如今最为流行的当属动态链接、动态装入方法。本文首先回顾了链接器和装入器的基本工作原理及这一技术的发展历史,然后通过实际的例子剖析了Linux系统下动态链接的实现。了解底层关键技术的实现细节对系统分析和设计人员无疑是必须的,尤其当我们在面对实时系统,需要对程序执行时的时空效率有着精确的度量和把握时,这种知识更显重要。链接器和装入器的基本工作原理一个程序要想在转载 2015-10-10 10:48:17 · 493 阅读 · 0 评论 -
Linux进程与线程之五
每日一结 一 共享内存 :内核空间预留出来的一块内存,用于进程间通信 (1)int shmget(key_t key, size_t size, int shmflg); 功能:获取共享内存段的ID 参数: @key IPC_PRIVATE 或 ftok() @size 申请的共享内存段大小 [4k的倍数]原创 2015-10-10 10:55:11 · 361 阅读 · 0 评论 -
Linux进程与线程之四
每日一结 一 传统的进程间通信 1.信号 : 异步进程间通信方式 信号是对中断机制的一种模拟 进程对信号处理方式: (1)忽略信号 SIGKILL ,SIGSTOP 不能忽略 (2)捕捉 : 信号到达的时候,执行信号处理函数 (3)缺省操作 : 系统默认的操作原创 2015-10-10 10:55:08 · 524 阅读 · 0 评论 -
Linux进程与线程之三
每日一结 一 线程退出 void pthread_exit(void *retval); 功能:结束一个线程 参数: @retval 带回线程返回的地址 返回值: 无 int data = 100; pthread_exit(&data); 二 等待线程退出原创 2015-10-10 10:55:06 · 501 阅读 · 0 评论 -
Linux进程与线程之二
每日一结 一 字符串分割函数 char *strtok(char *str, const char *delim); 功能:根据分隔符号来分割字符串 参数: @str 第一次:字符串首地址 后面传递:NULL [告诉strtok函数接着上一次后面操作] @delim 分割字符串 返回值:原创 2015-10-10 10:55:03 · 455 阅读 · 0 评论 -
Linux进程与线程之一
每日一结 一 动态库和静态库 1.命名方法 静态库 : libname.a 动态库 : libname.so 注意 :库的名字是name 2.链接动态库和静态库的区别 (1)链接静态库 如果链接的是静态库,编译器将程原创 2015-10-10 10:47:54 · 372 阅读 · 0 评论