K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
> 下図に示すように、ダミーmainで1スレッド、システム管理で1スレッド >VMスレッドが20、トータル22スレッドが動きます、VMが20がいいのか10が >いいのかは、今後の調査により決まると思います。 実際の動作はVMの一つ >が言語のmain関数が占有します。main関数が終了すると、サブのVMは強制 >終了されます。だから、実際に作業するのは残りの19VMスレッドで処理が >自由に割り振られます。優先順位に従い、空いたVMから処理が行われます。 >だから、言語上のスレッドはある時はVM3で実行しても次は空いていたVM12 >が実行します。この構造が出来たことにより、普通の関数起動と同じよう >な負荷でスレッドが起動できる軽いシステムになりました。 > ちなみにVMの待ち状態は、極微小の負荷しかありません。 > ダミーmainは、アプリケーションの各種表示処理の担当に使います。 > このシステムが出来たので言語上のファイバーは、比較的簡単に実装 >できます。そのときの実行負荷も軽いです。 > > >ダミーmain システム管理 > ----- ---------------------------------------- > | | スレ起動 | | > | | -> | | > ----- ---------------------------------------- > ↓ ↓ VMスレッド起動 ↓ > ------------------ -------- -------- > | | | | | | > ----------| 言 | | V | VMスレッド | V | > ↓ | 語 | | M | 20個が常に | M | > -------- | 管 | | 0 | 起動し | 1 | > | コ | | 理 | | 0 | キュー待ち | 9 | > | ン | | | | | | | > | パ | | | | | | | > | イ | | | | | | | > | ラ | | | | | | | > -------- -------- -------- -------- >----------------------------- > ↓ > 上の構造が実行した場合の、トレース情報。 > デバック用にVMは5個起動しています。 > このトレースではVM1がmainスレッドに割り当てられています。 > ↓ >----------------------------- >2:### ダミーmain開始----- >2:### CL_systemスレッド 開始 >2:### システム開始----- >2:### 組込み関数登録処理開始----- >2:### 組込み関数登録処理終了----- >2:### CL_VMexeスレッド 開始 >2:スレッドRUN開始 vmid=0 >2:### CL_VMexeスレッド 開始 >2:スレッドRUN開始 vmid=1 >2:### CL_VMexeスレッド 開始 >2:スレッドRUN開始 vmid=2 >2:### CL_VMexeスレッド 開始 >2:スレッドRUN開始 vmid=3 >2:### CL_VMexeスレッド 開始 >2:スレッドRUN開始 vmid=4 >2:### コンパイル初期化処理開始----- >2:### コンパイル開始----- >2:### コンパイル終了----- >2:### コンパイルの総てのリソースを開放----- >2:キュー処理開始 vm=1 procid=0 Qid=1 p1=999 >2:キュー処理開始 vm=2 procid=1 Qid=1 p1=6 >2:キュー処理開始 vm=3 procid=2 Qid=1 p1=5 >2:キュー処理開始 vm=0 procid=3 Qid=1 p1=4 >2:キュー処理開始 vm=4 procid=1 Qid=2 p1=1 >2:キュー処理開始 vm=2 procid=2 Qid=2 p1=1 >2:キュー処理開始 vm=3 procid=3 Qid=2 p1=1 >2:キュー処理開始 vm=0 procid=1 Qid=2 p1=1 >2:キュー処理開始 vm=4 procid=2 Qid=2 p1=1 >2:キュー処理開始 vm=3 procid=3 Qid=2 p1=1 >2:キュー処理開始 vm=2 procid=1 Qid=2 p1=1 >2:キュー処理開始 vm=4 procid=2 Qid=2 p1=1 >2:キュー処理開始 vm=3 procid=3 Qid=2 p1=1 >2:キュー処理開始 vm=0 procid=1 Qid=2 p1=1 >2:キュー処理開始 vm=2 procid=2 Qid=2 p1=1 >2:キュー処理開始 vm=4 procid=1 Qid=2 p1=1 >2:キュー処理開始 vm=0 procid=3 Qid=2 p1=1 >2:キュー処理開始 vm=3 procid=2 Qid=2 p1=1 >2:キュー処理開始 vm=2 procid=1 Qid=2 p1=1 >2:スレッドRUN終了 vmid=1 >2:スレッドRUN終了 vmid=4 >2:スレッドRUN終了 vmid=0 >2:スレッドRUN終了 vmid=2 >2:スレッドRUN終了 vmid=3 >2:### CL_VMexeスレッド 終了 >2:### CL_VMexeスレッドハンドルをクローズしました >2:### CL_VMexeスレッド 終了 >2:### CL_VMexeスレッドハンドルをクローズしました >2:### CL_VMexeスレッド 終了 >2:### CL_VMexeスレッドハンドルをクローズしました >2:### CL_VMexeスレッド 終了 >2:### CL_VMexeスレッドハンドルをクローズしました >2:### CL_VMexeスレッド 終了 >2:### CL_VMexeスレッドハンドルをクローズしました >2:#debugMsg 残っているメモリーを開放 66 66 >2:#debugMsg 残っている配列メモリーを開放 26 26 >2:### システム終了----- >2:### CL_systemスレッド 終了 >2:### CL_systemスレッドハンドルをクローズしました >2:### ダミーmain終了----- >
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!