マルチプロセスやマルチタスク、マルチスレッドという用語はかなり技術的で、専門家ではない人は怖じ気づいてしまいがちです。これらの用語が意味するのは単に、プログラムで複数のタスクを同時処理できるということです。4Dはこの機能を、自動的にあるいはユーザのリクエストに応じて提供します。全データベースプロセスのリストはメニューコマンドを選択して、簡単に参照できます。
マルチプロセスにより、マルチウインドウアプリケーションに魅力的な次元が現われました。つまり、アクティブなウインドウを複数使えるばかりでなく、それぞれのウインドウ上で処理を同時に実行できるのです。Macintoshでは同じコンピュータに複数のモニタを接続できるため、4Dのマルチプロセス、マルチウインドウ機能を活用し、複数のアクティブなプロセスを目で確かめることができます。たとえば、化学技術者が1台のスクリーンを使って、実験中の温度変化のグラフを表示し、別のウインドウでは化学反応の物理的変動を知らせることができます。
4Dにより自動的にオープンされる。
4Dを起動すると、3つのプロセスが自動作成され、開発およびデータアクセスのあらゆる局面を管理します。
●ユーザ/カスタムメニュープロセス
●デザインプロセス
●キャッシュマネージャプロセス:データをディスクにフラッシュしキャッシュする。
4Dはマルチプロセスシステムとして作られているため、ユーザモードとデザインモードの関係はインタラクティブです。この利点は、フォームデザインに施した変更を即座に自動的にユーザレベルで確認できる点です。4D自体がインタラクティブなため、データベース開発とテストを同時進行できるのです。たとえば、Web用の4Dフォームを作成しながら、データベースにアクセスしているブラウザからそのフォームを確認することができます。
必要に応じて自動的にオープンされる
必要な場合にのみ、4Dでは更に3つのプロセスが作成され、貴重なシステムメモリを保護します。
●インデックスプロセス
●On Serial Portマネージャ
●Webサーバプロセス
●イベントマネージャ
マルチプロセス機能により、4Dでは複数操作を同時に実行することができます。たとえば、あるプロセスでレコードセレクションをプリントし、別プロセスではデータを読み込み、もう一つのプロセスでデータ入力を行うことができます。
プロセスの作成
●コマンド:New Process
●メニューエディタのチェックボックスを選択
●メソッド実行時にチェックボックスを選択
機能について
新規プロセスを作成することにより、4Dの全機能を利用できるようになります。マルチプロセスは複数の4Dを一つにしたようなものです。プロセス機能を説明するのは、4D自体を説明することと同じで、これがこのドキュメントの目的です。しかし、4Dが提供するすばらしい機能の簡単な一覧を次に示します。
●1つ以上のアクティブウインドウを使って作業。
●複数のカレントセレクションを同時に操作(情報管理の項参照)
●1つ以上のカレントレコードを同時に処理
●1つ以上のカレント入力、出力フォームで同時に作業
●時間のかかる処理を別々に開始
●カスタマイズしたユーザインタフェースを作成(フローティングパレット、カスタマイズ可能なツールバー等)
●インタープロセス変数やコマンドを使い、プロセス間通信を完全制御
●4Dデバッガではプロセスの実行とデバッグを同時に行える。プロセスごとに個別のデバッグウインドウが提供される(4Dデバッガを参照)。
次のような情報がわかりやすく表示されます。
●プロセス番号
●プロセスID
●プロセスの現在状況(実行中、延期中、ユーザイベント待ち、入出力待ち、内部フラッグ待ち、中断、アボート、非表示)
●プロセス開始後の経過時間
メソッド内で使用可能
●通信:CALL PROCESS、CLEAR SEMAPHORE、GET PROCESS VARIABLE、Semaphore、SET PROCESS VARIABLE
●ユーザインタフェース:BRING TO FRONT、Frontmost process、HIDE PROCESS、SHOW PROCESS
●一般:Count tasks、Count user processes、Count users、Current process、DELAY PROCESS、Execute on server、New process、PAUSE PROCESS, Process number、PROCESS PROPERTIES、Process state、Processes、RESUME PROCESS、ストアドプロシージャ