Linux 线程
线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元。
刘星燎
弱小和无知不是生产的障碍,傲慢才是
展开
-
线程操作函数汇总
函数 作用 线程ID pthread_self 获取线程id syscall(224) 获取内核中的线程id 线程的创建和终止 pthread_create 创建线程 ...原创 2018-10-19 16:21:04 · 508 阅读 · 0 评论 -
线程标识(线程ID)
一、线程标识和进程的Pid一样,每个线程也有对应的id即tid在线程中,线程ID的类型是pthread_t类型,由于在Linux下线程采用POSIX标准,所以,在不同的系统下,pthread_t的类型是不同的,比如在ubuntn下,是unsigned long类型,而在solaris系统中,是unsigned int类型。而在FreeBSD上才用的是结构体指针。 所以不能直接使用==判读,而...原创 2018-10-19 16:07:50 · 9327 阅读 · 0 评论 -
线程的创建
一、线程创建函数#include <pthread.h>int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg);1、参数及返回值thread:存放线程ID的缓冲区attr:用于定制各种不同的线程属性,这里使用N...原创 2018-10-19 16:08:45 · 360 阅读 · 2 评论 -
线程的终止
一、线程的终止1、线程终止不影响进程线程可以简单的从启动程序中返回,返回值是线程的退出码线程可以被同一进程的其他线程取消线程调用pthread_exit2、线程终止影响进程任意线程调用了exit,_Exit,_exit或发送到线程就会终止进程的信号二、线程终止函数pthread_exit使用函数pthread_exit退出线程,这是线程的主动行为;由于一个进程中的多个线程...原创 2018-10-19 16:09:17 · 795 阅读 · 0 评论 -
线程同步
一、为什么需要线程同步当多个线程控制相同的变量时,某一个线程对该变量进行修改的同时其他线程可能也在对这些变量进行访问或修改,这时就有可能获取到无效的数据,这就需要进行线程的同步,防止这类情况的发生。二、线程同步的手段1、互斥量2、读写锁3、条件变量4、自旋锁5、屏障属性1、互斥量(mutex)本质上讲是一把锁,在访问共享资源钱对互斥量进行设置(加锁),在访问完成后释放(...原创 2018-10-19 16:09:35 · 286 阅读 · 0 评论