问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样检测线程的状态(c代码 )如:线程是死亡、阻塞、挂起等。

发布网友 发布时间:2022-04-25 15:07

我来回答

3个回答

热心网友 时间:2023-07-10 08:01

道线程还有这么多状态的,线程主要状态不是只有:创建-》就绪-》运行->阻塞-》终止 吗?

我是用java的,介绍下java的Thread的方法
1. sleep()方法:sleep()允许指定以毫秒为单位的一段时间作为参数,它使得线程在指定的时间内进入阻塞状态,不能得到CPU 时间,指定的时间一过,线程重新进入可执行状态。这可以理解为休眠吗?或者是阻塞?
2.yield() 方法:yield() 使得线程放弃当前分得的 CPU 时间,但是不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得 CPU 时间。调用 yield() 的效果等价于调度程序认为该线程已执行了足够的时间从而转到另一个线程。
3.wait() 和 notify() 方法:两个方法配套使用,wait() 使得线程进入阻塞状态,它有两种形式,一种允许指定以毫秒为单位的一段时间作为参数,另一种没有参数,前者当对应的 notify() 被调用或者超出指定时间时线程重新进入可执行状态,后者则必须对应的 notify() 被调用。

而我自己经常用的是在run()方法里面用标识符,根据条件改变标识符的值来控制循环的运行,或者是监听某个输入条件,监听不到就一直等待在那里。

挂起我倒是在进程上听过,
就绪挂起: 进程在内存外,但只要被调入内存就可运行
等待挂起: 进程在外存中,并且等待某件事情发生
不知道这和线程是不是一样。

而阻塞,中断和休眠在java里面好像都是用sleep()来完成的,在我理解起来其实是一种状态, 但因为我的水平问题,对内存什么的没什么研究,所以我很期待有人能解答。

期待大神!
期待大神!
期待大神!
期待大神!
期待大神!
期待大神!

热心网友 时间:2023-07-10 08:02

LZ,你这个问题我也关注蛮久了, 因为我一直不知道线程还有这么多状态的,线程主要状态不是只有:创建-》就绪-》运行->阻塞-》终止 吗?

我是用java的,介绍下java的Thread的方法
1. sleep()方法:sleep()允许指定以毫秒为单位的一段时间作为参数,它使得线程在指定的时间内进入阻塞状态,不能得到CPU 时间,指定的时间一过,线程重新进入可执行状态。这可以理解为休眠吗?或者是阻塞?
2.yield() 方法:yield() 使得线程放弃当前分得的 CPU 时间,但是不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得 CPU 时间。调用 yield() 的效果等价于调度程序认为该线程已执行了足够的时间从而转到另一个线程。
3.wait() 和 notify() 方法:两个方法配套使用,wait() 使得线程进入阻塞状态,它有两种形式,一种允许指定以毫秒为单位的一段时间作为参数,另一种没有参数,前者当对应的 notify() 被调用或者超出指定时间时线程重新进入可执行状态,后者则必须对应的 notify() 被调用。

而我自己经常用的是在run()方法里面用标识符,根据条件改变标识符的值来控制循环的运行,或者是监听某个输入条件,监听不到就一直等待在那里。

挂起我倒是在进程上听过,
就绪挂起: 进程在内存外,但只要被调入内存就可运行
等待挂起: 进程在外存中,并且等待某件事情发生
不知道这和线程是不是一样。

而阻塞,中断和休眠在java里面好像都是用sleep()来完成的,在我理解起来其实是一种状态, 但因为我的水平问题,对内存什么的没什么研究,所以我很期待有人能解答。

期待大神!
期待大神!
期待大神!
期待大神!
期待大神!
期待大神!追问Google了下,线程的状态大致有4种(产生(new)、可执行(Runnable)、死亡(Dead)、 有停滞(Blocks))有说7种的,怎么说的都有。。大致是这样吧。昨天到今天找了一天的论坛。。没有让我满意的。。。。兄弟我刚工作,遇到了这么个棘手的问题。。。苦倒拉!!

参考资料:百度一下

热心网友 时间:2023-07-10 08:02

我来说吧。
首先,别过度纠结与概念, 找些线程使用的示例程序,把各种状态处理的库函数的用法,看懂了,会用了就行了。
等你自己处理线程起来得心应手了,你对线程的理解自然就接近那些所谓写书的大神们了。

用,才能懂,光纠结与理论和概念是不行的,用的时候还是迷糊。

找例子把,或者看现成的代码。没有比这学的更块的了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
提升学历选自考好还是成考好 成考和自考的文凭哪个好 2024年成人自考和成人高考哪个更好 家用净水器滤芯类型有哪些 家用净水器什么滤芯好 请问在VB中如何调用多线程? 交强险理赔后第二年上涨吗? 交强险出一次险第二年保费多出多少? 全家人都爱吃的家常菜目录 丽台Quadro P5000专业图形显卡-购买最佳价格 如何判断线程池里的线程全部执行完毕 不知如何判断线程的状态 C语言线程如何终止? 如何在主线程中判断子线程是否结束 C语言如何终止线程 如何判断线程已执行完毕 C语言如何终止线程? C#多线程问题,如何知道所有的线程都执行完毕 vc++中如何安全稳定的判断一个线程是否执行结束 如何判断线程是否结束 linux下的c++如何判断线程是否结束 c判断线程是否运行结束 打英文字时 摁哪个键能把首字母转化为大写 “晚吃姜,赛砒霜”是养生还是谣言? 秋天晚上睡觉总出汗。喝姜汤会好吗 为什么说晚上吃姜不好 为什么姜不能下午、晚上吃,姜汤却可以? 为什么说晚上吃姜如吃砒霜? 晚上能喝姜汤吗 为什么说,晚上喝姜汤,等于喝砒霜? 开了多个线程,如何判断所有子线程都已经运行完毕? 在多线程程如何判断任务已经结束? AfxBeginThread 启动了多个线程,如果判断这些线程全部结束? mfc如何判断线程结束 永嘉社保中心 咨询电话? 病危病人的鼻子歪了,是什么症状? 是濒死症状么? 是癌症患者 如果人鼻子歪了好多年,要不要紧? 生重病的人鼻子歪了是怎么回事 温州市社保局几点上班时间 重庆新桥医院陈旧,鼻骨骨折,导致的鼻子歪,还能治疗吗? 鼻子撞歪了.成s型.拍了X光鼻骨没断.医生说会长好.就什么也没有医治.可十几天了还是歪的.怎么办? 温州社保局上下班时间 手机连在电脑上后不显示 永嘉社保中心号码 外伤造成鼻子歪了!!!急求解答 永嘉社保中心 咨询电话 温州社保局上班时间 面瘫治疗恢复后鼻子还有点歪,怎么办?发病到现在有3个月了 人在去世前几天,为什么鼻子会歪,眼睛也陷下去了。 温州社保局几点上班