租号挂起线程

租号 2021-01-16 10:08:59 0

linux c语言怎样挂起线程/进程?

线程

可以用pthread_kill函数

传递信号SIGSTOP挂起

传递SIGCONT 恢复

进程

调用系统的stop挂起

或者用kill -stop 挂起

类似的 用SIGCONT 恢复。

在c++中,在多线程编程中,为什么要把一些线程给挂起呢?这样做有什么目的呢?

线程的执行需要提供运算资源,而计算机最直接的运算资源,除了内存,就是CPU了。线程的执行需要占用CPU时间。操作系统为了模拟用户“看起来的并发",其底层其实是使用时间片轮询的策略,也就是,会将CPU时间切割成粒度较小的时间片,然后轮流提交到各个线程去执行,在用户可感知的时间内,每个线程也就都得到了运行的机会。

交给”各个线程“去执行,更确切的说法是,交给”各个等待运行的线程“去执行。而挂起线程,实际上,就是告诉操作系统,这个线程不活跃了,暂时不需要运算了,可以从上述的等待运行线程队列中去去掉,然后放入”挂起线程池“中,以后操作系统CPU调度的时候,就不再轮询到这个线程无谓浪费CPU时间了,可以让其他真正active的线程得到更充分的CPU运行时间。

那如果这个线程挂起后,在以后某一时刻想重新运行起来怎么办?这个时间就需要去唤醒这个线程了,唤醒线程的过程,其实也就是从”挂起线程池“放入”等待运行的线程队列“过程,当CPU时间轮询到这个线程,就又可以愉快的玩耍了。

版权声明

版权所属:JD租号

文章作者:sniper

本文地址:https://jdchery.com/skjlb/102282.html

版权声明:原创文章,转载时必须以链接形式注明原始出处及本声明。

上一篇:游戏租号警示
下一篇:

JD租号-专业的游戏账号交易平台

https://jdchery.com/

| 沪ICP备14093508号

Powered By JD租号

使用手机软件扫描微信二维码

可获取更多热点资讯新闻

感谢JD租号友情技术支持