![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统实验
喝瓶rio再跑
这个作者很懒,什么都没留下…
展开
-
多线程创建:pthread()和clone()实现机制的异同
异同用户级线程与LWP不同点相同点用户级线程与LWPPthread()是基于用户级线程来实现,而clone()是基于轻量级进程(LWP)来实现的。对于用户级线程,是由用户空间运行线程库,使得任何应用程序都可以通过使用线程库被设计成多线程程序。所以对于线程的创建、消息的传递等都由线程库来完成,并且内核感知不到多线程的存在。而内核继续以进程为单位,给该进程一个执行状态。而对于LWP而言,它是由内核支持的用户线程。正如图片里面显示的一样,它可以起到逻辑上对于用户线程和内核线程的连接。事实上,它是基于原创 2020-06-20 12:01:25 · 1991 阅读 · 0 评论 -
C设计实现一个线程池(thread pool)
C设计实现一个线程池环境思路代码main.cpool.cpool.h环境在ubuntu的linux操作系统下,使用C语言,使用pthread创建和管理线程。任务满足先进先出的原则,因此使用链表。由于课程暂未学习到线程之间的互斥和锁的问题,所以不考虑线程的问题。以链表的形式创建任务,导入线程池然后执行,再销毁线程池,即为实验的流程。思路下面开始讲解我关于线程池的构造。因为还没有学习到互斥锁的知识,所以暂时不考虑调用线程切换的时候可能出现的互斥问题。而是着重关心线程池中任务以及线程的构造。对于任务原创 2020-06-20 12:35:23 · 1270 阅读 · 0 评论