![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux多线程
文章平均质量分 64
vancounver
这个作者很懒,什么都没留下…
展开
-
lesson1 什么是线程
1. 进程:一个正在执行的程序,它是资源分配的最小单位。2. 线程:轻量级进程,程序执行的最小单位,程序独立调度和分配CPU的基本单位,它是进程中的一个实体。一个进程中可以有多个线程,共享进程的所有资源,线程本身只包含一点必不可少的资源。3. 并发:同一时刻只能有一条指令执行,但多个进程指令被快速切换,宏观上感觉多个进程同时执行的效果。并行:同一时刻多条指令在多个处原创 2017-02-09 21:04:29 · 303 阅读 · 0 评论 -
lesson6 基于多线程的tcp并发服务器
1.原创 2017-02-15 21:44:12 · 280 阅读 · 1 评论 -
lesson2 线程的创造和生命
1. 线程ID: 线程进程标识符类型 pthread_tpid_t获取IDpthread_self()getpid() 创建pthread_create() fork()pthread_t在linux中是unsigned long int类型2. pthread_self的使用;原创 2017-02-09 21:06:36 · 299 阅读 · 0 评论 -
lesson3 线程控制
1. 线程的终止:a. 进程调用exit,整个进程终止,谨慎使用。b. 线程退出方法:启动例程返回;被同一进程中的其他线程终止;线程调用pthread_exit退出。2. 线程连接:a. pthread_join:阻塞,直到指定线程退出;//要求调用该函数的线程是非分离的,如果是分离的,则掉用失败。b. pthread_detach分离线程。3. 线程取原创 2017-02-13 18:45:00 · 293 阅读 · 0 评论 -
lesson4 线程同步
1. 互斥量mutex2. 读写锁:pthread_rwlock_t rwlock//非常适合读次数大于写次数的程序读写锁的三种状态:读模式加锁、写模式加锁、不加锁。一次只有一个线程占用写模式的读写锁,但是多个线程可以同时占用读模式的读写锁。读写锁在写加锁状态时,在被解锁前,所有试图这个锁加锁的线程将会阻塞。以读加锁时,所有试图读模式加锁的线程都能获得访问权限,但是如果希望以写模式原创 2017-02-14 10:48:52 · 313 阅读 · 0 评论 -
lesson5 线程的高级属性
1. 一次性初始化:互斥量智能初始化一次,再次初始化会出现错误。比如自己写库函数时将互斥量封装进去,这时一次性初始化就用上场了。定义变量pthread_once_t once_control = PTHREAD_ONCE_INIT;void init_routine(){//初始化互斥量//初始化读写锁}接下来在函数pthread_once引用上述变量和函数,多线程只会原创 2017-02-14 20:25:35 · 235 阅读 · 0 评论