linux编程----线程编程

概述:

1:程是调度的最小单位;进程是资源分配的最小单位。

2:进程中的线程是共享全局变量以及内存的。

3:共享:指令,除去私有数据,signal处理方式及其例程,运行环境

来源:http://www.cnblogs.com/forstudy/archive/2012/04/05/2433853.html

函数介绍:

image

说明:

用于获取本线程的ID号----ID就是一个长无符号整型

------------------------------分割线--------------------------------

image

说明:

用于判断线程ID是否相等

------------------------------分割线--------------------------------

image

说明:

创建线程,其中的线程函数就是线程的入口处。创建后线程就会启动了。

 

------------------------------分割线--------------------------------

image

说明:

线程退出函数

------------------------------分割线--------------------------------

image

说明:

等待线程th执行完。。

------------------------------分割线--------------------------------

image

说明:

pthread_setcancelstate(PTHREAD_CANCEL_ENABLE,NULL);通过此函数设置可以被其他线程取消
通过上述函数可以向该线程提出取消线程的请求。

 

同步方式:

互斥锁函数

互斥锁初始化:pthread_mutex_init()

互斥锁上锁:pthread_mutex_lock()

互斥锁判断上锁:pthread_mutex_trylock()

互斥锁解锁:pthread_mutex_unlock()

消除互斥锁:pthread_mutex_destroy()

 

信号量函数

sem_init() 创建一个信号量,并初始化它

sem_wait()和sem_trywait(): P操作,在信号量大于零时将信号量的值减一

•区别: 若信号量小于零时,sem_wait()将会阻塞线程,sem_trywait()则会立即返回

sem_post(): V操作,将信号量的值加一同时发出信号来唤醒等待的线程

sem_getvalue(): 得到信号量的值

sem_destroy(): 删除信号量

条件变量函数:

参看:http://blog.chinaunix.net/uid-21411227-id-1826890.html

初始化条件变量pthread_cond_init

阻塞在条件变量上pthread_cond_wait

解除在条件变量上的阻塞pthread_cond_signal

阻塞直到指定时间pthread_cond_timedwait

释放阻塞的所有线程pthread_cond_broadcast

释放条件变量pthread_cond_ destroy

转载于:https://www.cnblogs.com/miner007/p/3978557.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值