多线程和多进程
bigxu
热爱生活!!!
展开
-
linux多线程学习笔记五--线程安全
一,线程安全基础一个函数被称为线程安全的当且仅当被多个并发线程反复调用时,它会一直产生正确的结果。我们能够定义出四类线程不安全函数。第一类:不保护共享变量的函数共享变量在多线程中是共享数据,可以通过同步机制来保护共享数据。第二类:保护跨越多个调用状态的函数一个伪随机数生成器是一个简单的例子:unsigned int next=1;int rand(void){原创 2012-04-26 10:32:25 · 3248 阅读 · 0 评论 -
linux多线程学习笔记一---基本概念
在学习多线程之前,先搞清楚一下几个概念1,什么是进程,什么是线程,什么是同步?每个正在系统上运行的程序都是一个进程,每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。同步指两个或两个以上随时间变化的量在变化过程原创 2012-04-08 15:58:37 · 974 阅读 · 0 评论 -
linux多线程学习笔记三---线程同步之信号量
一,共享数据一组并发线程运行在一个进程的上下文中,每个线程都有它自己独立的线程上下文,包括线程ID、栈、栈指针、程序计数器、条件代码和通用寄存器。每个线程和其他线程一起共享进程上下文的剩余部分。包括整个用户虚拟地址空间,它是由只读文本、读写数据、堆以及所有的共享库代码和数据区域组成的。线程也共享同样的打开文件的集合。所以任何线程都可以访问共享虚拟存储器的任意位置。如果某个线程修改了一个存储器位原创 2012-04-15 22:08:36 · 1400 阅读 · 0 评论 -
linux多线程学习笔记四---线程同步之互斥锁、读写锁和条件变量
一,使用互斥锁1,初始化互斥量pthread_mutex_t mutex =PTHREAD_MUTEX_INITIALIZER;//静态初始化互斥量int pthread_mutex_init(pthread_mutex_t*mutex,pthread_mutexattr_t*attr);//动态初始化互斥量int pthread_mutex_destory(pthread_mut原创 2012-04-17 19:44:22 · 4390 阅读 · 0 评论 -
linux进程学习笔记一--进程控制
进程的经典定义是一个执行中程序的实例。系统中的每个程序都是运行在某个进程上下文中。进程上下文是有程序正确运行所需的状态组成的,这个状态包括存放存储器中的程序代码和数据、栈、通用寄存器内容、程序计数器、环境变量以及打开文件描述符的集合。一,linux 进程地址空间进程为每个程序提供它自己的私有地址空间,通常与这个地址空间关联的存储器字节是不能被其他进程读或者写的,linux进程的地址空间如下原创 2012-04-25 12:24:26 · 1099 阅读 · 0 评论 -
linux多线程学习笔记二---基本线程编程
一,线程常见函数介绍#include#includevoid *thread_routine(void *arg){ pthread_t tid=pthread_self(); printf("thread 1 say hello\n"); return arg;}int main(){ pthread_t thread_id; void * thread_result;原创 2012-04-09 20:16:04 · 1018 阅读 · 0 评论 -
linux多线程学习笔记六--一次性初始化和线程私有数据
一,一次性初始化以保证线程在调用资源时,确保资源已经被初始化,并且只初始化一次。在传统的顺序编程中,一次性初始化经常通过使用布尔变量来管理。控制变量被静态初始化为0,而任何依赖于初始化的代码都能测试该变量。如果变量值仍然为0,则它能实行初始化,然后将变量置为1。以后检查的代码将跳过初始化。但是在多线程程序设计中,事情就变的复杂的多。如果多个线程并发地执行初始化序列代码,2个线程原创 2012-04-26 16:15:05 · 1749 阅读 · 0 评论 -
进程间通信
本文转自:http://blog.chinaunix.net/uid-25324849-id-207468.html (9)进程间通信 注:所以文章红色字体代表需要特别注意和有问题还未解决的地方,蓝色字体表示需要注意的地方1. 本文所介绍的程序平台开发板:arm9-mini2440虚拟机为:Red Hat Enterprise Linux 5开发板上系统内核版本:l转载 2012-04-28 08:59:59 · 978 阅读 · 0 评论