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:创建快速互斥锁。
相关文档:
Linux管理员们,该刷新内核了
Linux之父李纳斯·托沃兹(Linus Torvalds)援引《圣经》中的一句话寄语Linux爱好者:“一往无前,生生不息。”但是实际上,更准确的理解应该是“一往无前,测试不止”。而最新需要我们测试的就是近期刚发布的2.6.34版Linux内核,该内核版本的发布时间距离此前一个版 ......
一、Linux
查看cpu信息:
[junjie2@ljj ~]$ cat /proc/cpuinfo
二、Freebsd
dmesg 最简单的方法
freebsd# cat /var/run/dmesg.boot |grep CPU 可以查看 cpu信息
sysctl hw.model 看cpuid
sysctl machdep.tsc_freq 看cpu频率
# sysctl -a | egrep -i 'hw.machine|hw.model|hw.ncpu'
# dmesg | grep -i cpu ......
腾讯科技讯(洛洛河) 5月20日消息,红帽(Red Hat)宣布已在国内启动大学生Linux技能大赛;并将通过初赛、复赛、决赛层层选拔,于7月17日决出获胜者。
红帽中国市场部总监董辛乙表示,国内Linux市场人才缺口很大,已经影响到了很多Linux项目的正常进行,希望通过这些举措增加大学生对Linux的兴趣,从而培养更多人才。
填 ......
OK6410是一款设计优良,性价比出众的基于S3C6410X-66的ARM11开发板产品。官方提供了wince6 linux android 的支持与DEMO程序。根据其手册,烧写WINCE没有什么大问题。但如果原来是WINCE,想改烧写U-boot就会出现一些问题。
按照手册,在用SD卡启动后,下载u-boot到开发板上,用u-boo ......