手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

Apache中多任务并发处理机制研究(1)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
id是否是指定的id,如果是则表明找到,并返回其索引值;否则意味着没有找到该进程信息。

记分板中的每一个插槽都记录了进程的相关信息,其中一个重要的属性就是当前进程的状态。当进程的状态发生变化的时候,记分板中的状态字段也应该随之变化。ap_update_child_status_from_indexes函数用以更新记分板中指定进程的状态。

AP_DECLARE(int) ap_update_child_status_from_indexes(int child_num,

int thread_num,

int status,

request_rec *r)

函数需要四个参数,child_num是需要更新状态的进程的索引;thread_num则是线程在该进程的线程组中的索引;status是设置的新的状态值;r则是与当前工作线程关联的请求结构。

ws = &ap_scoreboard_image->servers[child_num][thread_num];

old_status = ws->status;

ws->status = status;

ps = &ap_scoreboard_image->parent[child_num];

更新之前首先的任务就是获取索引为child_num的进程以及该进程内索引为thread_num的线程的描述数据结构。根据记分板的内存布局很容易理解上面的语句。不过对于线程,在对其进行更改之前必须保存其以前的状态。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!