易截截图软件、单文件、免安装、纯绿色、仅160KB

linux多线程学习(三)——互斥锁线程控制

 在前面的文章中提及到,一个进程中的多个线程是共享同一段资源的,由于线程对资源的竞争引出了锁。其中mutex是一种简单的加锁方法,这个互斥锁只有两种状态,那就是上锁和解锁,可以把互斥锁看作是某种意义上的全局变量。在某一时刻,只能有一个线程取得这个互斥上的锁,拥有上锁状态的线程可以对共享资源进行操作,而其他线程在该线程未解锁之前,够会被挂起,直到上锁的线程解开锁。可以这么说,互斥锁使得共享资源按序的在各个线程上操作。
互斥锁的操作主要包括互斥锁初始化、上锁、判断上锁、解锁、摧毁互斥锁。其中互斥锁可以分为快速互斥锁、递归互斥锁这检错互斥锁。这三种锁的区别主要在于其他未占有互斥锁的线程在希望得到互斥锁时是否需要等待挂起。快速锁是指调用线程会阻塞直到线程锁得到解锁为止。递归锁能够成功地返回并且增加调用线程在互斥上的加锁次数,比如一个链表在进行插入的操作时,可以进行查找的操作。检错锁则为快速互斥锁的非阻塞版本,它会立即返回并返回一个错误的信息。
1、函数简义。
(1)pthread_mutex_init
头文件:                  <pthread.h>
函数原型:               int pthread_mutex_init (pthread_mutex_t* mutex,
                                                                         const pthread_mutexattr_t* mutexattr);
函数传入值:            mutex:互斥锁。
                              mutexattr:PTHREAD_MUTEX_INITIALIZER:创建快速互斥锁。
      &nbs


相关文档:

实战Linux Bluetooth编程(三) HCI层编程

1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI)  就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......

PostgreSQL Linux安装,使用简易手册

 
PostgreSQL Linux
安装及使用,简易手册
一,配置方法:
1
,首先下载任意版本的PostgreSQL For Linux X86_64
wget http://downloads.enterprisedb.com/postgresql/postgresql-8.4.1-1-linux-x64.bin
2
,文本模式安装
[root@imdba.cn ~]# ./postgresql-8.4.1-1-linux-x64.bin –mode text
&mda ......

linux下修改主机名

 
在linux下修改主机名有两种方法:
一:使用hostname命令
   方法:[root@hening ~]# hostname abc
   [root@hening ~]# su
   [root@abc ~]#
   切忌:使用这个命令修改主机名只能在当前shell有效,如果重启系统就会失效。
二:修改linux主机的配置文件
 &nb ......

linux下vi命令大全

linux下vi命令大全
默认分类   2009-04-12 14:59   阅读1663   评论2  
字号: 大大  中中  小小
文本编辑器是所有计算机系统中最常用的一种工具。使用最为广泛的是vi,而vi命令繁多,各大论坛基本上都有总结!为了大家学习方便,请自由转发!   &nb ......

Linux网管笔记(32):Linux下的VPN服务器轻松打造

    最近,有个朋友老是问VPN的事情。结合我的体会,算是给他准备一个专题文章吧。 1.到底什么是VPN
VPN的英文全称是“Virtual Private Network”,翻译过来就是“虚拟专用网络”。顾名思义,虚拟专用网络我们可以把它理解成是虚拟出来的企业内部专线。它可以通过特殊的加密的通讯协议在连接在Internet ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号