タスク間の継承関係

 Linuxのような大規模システムでは、タスクには親子関係がある。(※この場合のタスクとはプロセスのことである。)例えば、X windowのタスクと、X windowの内部で動作するアプリケーションタスクには親子関係があり、例えば、親タスクが終了すれば子タスクも終了したり、親タスクから子タスクへのアクセスが出来たり、親タスクが子タスクのウインドウ枠を作成したりと、ある程度の親子タスク間で役割分担をしている。

 Webシステムでも「タスク」の親子関係があると便利である。例えば、Webページ全体のデザインを管理するタスク、Widgetを管理するタスクとの間には親子関係があったほうが柔軟な実装が可能になる。タスク間の親子関係の実装例が下記である。


Task.prototype={
initialize:function(){
var p=Sys.getContext();
this.parent=p;
if(p){p.children.push(this);}
this.children=new Array;
this.resources=new Object;

},
find:function(rscName){
if(this.resources[rscName]){return this.resources[rscName];}
var task=this.parent;
while(task!=null){
if(task.resources[rscName]){return task.resources[rscName];}
task=task.parent;
}
return null;
},
handler:function(ev){
switch(ev.type){
case “t.destroy”:this.destroy__();break;

}
},
destroy__:function(){
var o=this.instance;
var p=this.parent;
this.parent=null;
if(p){
var ch=p.children;
for(var i=0;i

カテゴリー: html5_multitask   タグ: , ,   この投稿のパーマリンク

コメントを残す