linux 多线程cpu运行时间

linux 多线程cpu运行时间,第1张

1、程序(linux环境下)运行自己写的线程之后,程序卡顿

2、查看程序(linux环境下)运行资源消耗 top命令,CPU占用率达到了98%

问题分析

1、反复查看线程中程序执行步骤,并没有高耗CPU的 *** 作

2、查看程序优化的百度经验,优化一些算法,但也不能CPU占用率达到98%

3、最后多次查看线程概念、原理得出结论:

    线程就是一个死循环,线程要有跳出语句,要预留出其他程序的运行的时间片

解决:

while(1)中加入sleep(),防止一直占用CPU

---恢复内容结束---

使用strace或者ltrace来查看线程等待时间:

strace -tT -f -p pid

其中t参数表示显示线程等待时间,f表示同时跟踪系统调用的进程,p表示指定要跟踪的进程的进程号(PID)。

比如:再查看某个PID为10086的进程的线程等待时间,可以使用以下命令:

strace -tT -f -p 10086


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8947610.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存