Linux多线程与锁
文章平均质量分 68
巴菲特的好弟弟-
这个作者很懒,什么都没留下…
展开
-
互斥锁API
一、为什么需要使用互斥锁 使用互斥锁(互斥)可以使线程按顺序执行,可完整执行完一个线程。通常,互斥锁通过确保一次只有一个线程执行代码的临界段来同步多个线程。互斥锁还可以保护单线程代码。 Linux 内核互斥锁是非常常用的同步机制,互斥锁是这样一种同步机制:在互斥锁中同时只能有一个任务可以访问该锁保护的共享资源,且释放锁和获得锁的调用方必须一致。因此在互斥锁中,除了对锁本身进行同步,对调用方(或称持有者)必须也进行同步。当互斥锁无法获得时,task会加入等待队列,直至可获得锁为止。 二、互斥锁的死锁 程序中运原创 2022-01-05 14:24:55 · 276 阅读 · 0 评论 -
多线程常见API
一、定义 多线程一词可以解释为多个控制线程或多个控制流。虽然传统的UNIX 进程包含单个控制线程,但多线程(multithreading, MT) 会将一个进程分成许多执行线程,其中每个线程都可独立运行。 二、多线程与进程的区别 1.在进程中,当创建一个子进程时,即内存重新分配代码段、数据段、堆栈,占用的空间较大。 而创建一个线程时,共用同一个内存空间。 2.进程通讯需要使用IPC通讯(无名管道,命名管道,消息队列,共享内存,信号量)速度较慢,而线程之间对共享内存的数据进行处理,但是需要注意竞态问题,可利用原创 2022-01-04 17:01:50 · 495 阅读 · 0 评论