多线程
文章平均质量分 96
这博客不写也罢
这个作者很懒,什么都没留下…
展开
-
[Linux]条件变量:实现线程同步(什么是条件变量、为什么需要条件变量,怎么使用条件变量(接口)、例子,代码演示(生产者消费者模型))
在保证数据安全的前提下,让线程能够按照某种特定的顺序访问临界资源,从而有效避免饥饿问题,叫做同步。饥饿问题饥饿问题指的是某些线程由于某种原因无法获得它们所需要的资源或执行机会,导致它们长时间得不到处理,甚至永远得不到处理的现象。这种情况通常发生在多个线程竞争有限资源时,其中一些线程可能因为优先级过低、调度算法的不公平性、同步机制使用不当或其他原因而无法获得足够的执行时间。原创 2024-03-21 23:46:37 · 1332 阅读 · 3 评论 -
[Linux]互斥锁(什么是锁,为什么需要锁,怎么使用锁(接口),演示代码)
什么是锁?锁是一种同步机制,用于控制多个线程对共享资源的访问。通过锁,可以确保一次只有一个线程能够访问特定的代码段或数据,从而防止数据竞争和不一致。锁的主要目的是确保数据的一致性和线程安全性。为什么需要锁?需要锁的主要原因在于确保多线程或多用户环境中共享资源访问的原子性和数据一致性。在多线程应用中,若多个线程同时访问并修改同一资源,可能导致数据冲突、不一致甚至损坏。原创 2024-03-18 17:09:32 · 932 阅读 · 2 评论 -
[Linux]多线程(在Linux中的轻量级进程(LWP),怎么使用线程(接口))
在Linux系统中没有线程的概念,只有轻量级进程(LWP)的概念,OS不会提供线程的接口,只提供轻量级进程的接口,那么我们怎么在Linux创建线程呢?原来Linux系统中提供了一个第三方库:pthread原生动态库,OS通过pthread原生动态库就可以创建线程。如图:编译链接、时应该链接pthread原生线程库(动态库)不会连接动态库的可以看我这篇文章。原创 2024-03-17 20:41:59 · 912 阅读 · 0 评论