4Dランゲージのためのプリエンプティブ・プロセス

Deeplからの自動翻訳

4D v11以降、データベースサーバーとSQLサーバーは共にプリエンプティブなマルチスレッディングを使用します。4D v13 からは、Static モードの Web Server もプリエンプティブを使用しています。v15 R5では、4D言語もプリエンプティブ・プロセスで実行できるようになりました。

あなたの4Dコンパイルされたアプリケーションは、マルチコアコンピュータをフルに活用できるようになり、実行速度が向上し、より多くの接続ユーザーをサポートできるようになりました。

Full advantage of multi-cores

CooperativeモードとPreemptiveモードの違いは何ですか?

Cooperativeモードは、プロセスによってスケジューリングされ、1つのコアしか使用できません。プリエンプティブモードは、OSがスケジューリングし、利用可能なすべてのコアを使用できる。

ここでは、2プロセス、2コアの例を示します。

Cooperative vs Preemptive

プリエンプティブ・プロセスでメソッドを実行するには?

デフォルトでは、4Dはすべてのプロジェクトメソッドを協調モードで実行します。プリエンプティブモードの機能を利用したい場合、最初のステップは、プリエンプティブモードで起動させたいすべてのメソッドを明示的に宣言することです。

そのために、メソッドプロパティに「実行モード」プロパティが追加されています。3つのオプションがあります。

  • プリエンプティブ・モードで実行可能
  • プリエンプティブモードで実行できない
  • 無関心

4D v15 R5でデータベースを開くと、すべてのメソッドがIndifferentに設定されています。

自分のコードがプリエンプティブ・プロセスで実行できるかどうか、どのように確認しますか?

コードを書くだけで、コンパイラは、そのメソッドが互換性があるかないかをチェックします。

このビデオはその一例です。

もし、これまでのデモをすべて自分で再現したい場合は、以下のサンプルデータベースをダウンロードすることをお勧めします。

データベース例

プリエンプティブ・プロセスで実行可能なコマンドを知るには?

プリエンプティブ・プロセスで実行可能な4Dコマンドは、ドキュメントに新しいアイコンで表示されています。このアイコンは、右上にあります。

New icon in documentation

v15 R5では、最初のコマンドセットが利用可能です。次のR-releaseでは、さらに多くのコマンドを追加する予定です。

以下のHDIをダウンロードすることをお勧めします。コマンド名」コマンドを更新し、そのコマンドがプリエンプティブモードで実行可能かどうかを確認できるようにしました。

データベース例

詳細は、4D v15 R5 Upgradeのマニュアルをご覧ください。

Vanessa Talbot
- プロダクトオーナー - Vanessa Talbotは、2014年6月に4Dプログラムチームに参加しました。プロダクトオーナーとして、彼女はユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換する役割を担っています。また彼女の役割は、実装された機能が顧客のニーズを満たしているかどうかを確認することでもあります。入社以来、4Dにおける主要機能の定義に関わってきました。プリエンプティブ/マルチスレッドの新機能の大部分と、非常に複雑なテーマである組み込みアプリケーションの新アーキテクチャに取り組んできました。VanessaはTelecom Saint-Etienneで学位を取得後、Criminal Research Institute でオーディオビジュアル部門の開発者としてキャリアをスタートさせました。また、メディアや医療の分野でも、技術サポートやプロダクションの分野で働いてきました。