📄 00000006.htm
字号:
<?xml version="1.0" encoding="gb2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>Calling task 什么意思? turbolinux </title></head><body><center><h1>BBS 水木清华站∶精华区</h1></center><a name="top"></a>发信人: nonsun (无晴), 信区: Embedded <br />标 题: Re: calling task 什么意思? <br />发信站: BBS 水木清华站 (Thu May 17 17:05:41 2001) <br /> <br />呵呵,你的文字的出处: <br /> <br />VxWorks 5.4 Programmer's Guide <br />Chapter 2 Basic OS <br />Section 2.3.4 Tasking Control <br />Subject Task Names and IDs <br />Page 26 <br /> <br />"Most VxWorks task routines take a task ID as the argument specifying <br />a task. VxWorks uses a convention that a task ID of 0 (zero) always <br />implies the calling task." <br /> <br />“绝大多数与任务相关的VxWorks例程使用“task ID”参数来指定某一任务。 <br />按照惯例VxWorks,task ID为0总是用来指定调用任务。” <br /> <br /> <br /> <br /> <br /> <br /> <br />如:函数taskPriorityGet() <br />extern STATUS taskPriorityGet (int tid, int *pPriority); <br />假设有任务A、B、C,任务ID分别是0x10000、0x20000、0x30000 <br />对应的优先级分别是100、200、300,则int tidOfTaskC = 0x30000; <br />void test_taskPriorityGet() <br />{ <br /> int pri; <br /> taskPriorityGet (tidOfTaskC, &pri); <br /> printtf("Priority of task C is %d.\n", pri); <br /> taskPriorityGet (0, &pri); <br /> printtf("Priority of the calling task is %d.\n", pri); <br />} <br />如果上面函数在任务A的上下文中执行,则会打印 <br />Priority of task C is 300. <br />Priority of the calling task is 100. <br />如果上面函数在任务A的上下文中执行,则会打印 <br />Priority of task C is 300. <br />Priority of the calling task is 200. <br /> <br />其实对于这个问题的理解关键是要注意在多任务环境中,同一个函数是有可能 <br />被多个任务所调用的(在不同的上下文环境中执行),如: <br />void task_A_entry() <br />{ <br /> test_taskPriorityGet(); <br />} <br /> <br />void task_B_entry() <br />{ <br /> test_taskPriorityGet(); <br />} <br />task_A_entry、task_B_entry分别是任务A、B的入口函数。 <br /> <br /> <br />【 在 gamaknife (lucas) 的大作中提到: 】 <br />∶<i> VxWorks uses a convention that a task ID of 0 (zero) always implies the cal </i><br />∶<i> ling task. </i><br /> <br /> <br />-- <br /> <br /> 我歌月徘徊,我舞影零乱 <br /> <br /> 醒时同交欢,醉后各分散 <br /> <br /> <br />※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.96.134.135] <br /><a href="00000005.htm">上一篇</a><a href="javascript:history.go(-1)">返回上一页</a><a href="index.htm">回到目录</a><a href="#top">回到页首</a><a href="00000007.htm">下一篇</a></h1></center><center><h1>BBS 水木清华站∶精华区</h1></center></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -