1、意思不一
pend:pend(阻塞),指任务释放。
suspend:suspend(挂起),指任务不释放。
2、用途不一
pend:一般在等待某种资源或信号量的时候出现。
suspend:一般挂起用于程序调试中的条件中断。
3、运行不一
pend:其他任务可以运行。
suspend:任务优先级高就轮不到其他任务运行。
4、表现方式不一
pend:资源被其他任务抢占而处于休眠态。
suspend:需要用挂起函数进行操作。
5、类别不一
pend:pend是一种被动行为。
suspend:suspend是一种主动行为。
我拷贝了之前回答的答案:OSSemPost和OSSemPend是成对出现的,在程序OSSemPost尚未运行到的时候,在等待Sem的OSSemPend是会把当前的任务挂起,直到另外一个任务的OSSemPost运行完毕都得到Sem。但是可以通过改变OSSemCreate(x)里面的值x改变这种局面,当x不为0时,OSSemPend会马上得到Sem继续运行当前任务至结束,并将x的数值减一,直到为0。为0后,只有等其他任务的OSSemPost了。互斥:是指散步在不同任务之间的若干程序片断,当某个任务运行其中一个程序片段时,其它任务就不能运行它们之中的任一程序片段,只能等到该任务运行完这个程序片段后才可以运行。最基本的场景就是:一个公共资源同一时刻只能被一个进程或线程使用,多个进程或线程不能同时使用公共资源。欢迎分享,转载请注明来源:夏雨云
评论列表(0条)