バックグランド動作
cabin
投稿数: 48
V9Plusで制御系のプログラムを書いていて困っています。
複数(20台)の機器をMagicから制御しているのですが、
Magic自体が、1本のタスクでマルチスレッド処理はできないので、
複数のスレッドを立てて1つのスレッドで1台の機器を制御するようにプログラムしています。
同然1台のPC内で全ての処理が走ります。
機器が5台であれば、5つのスレッドを生成します。
メインコントロールタスクを含めれば6つ(タスク1+スレッド5)になります。
但し、メインコントロールは実行モード(R)で起動しています。
しかし、Magicの実行版は、起動オプションである
/ApplicationStartup=R
の場合は、必要な数のスレッド(実際にはタスク)を生成できますが、
/ApplicationStartup=B
の場合はライセンス数のスレッドしか立てられません。
1台のPC内で全て完結する場合もライセンス数が関係するのでしょうか?
ライセンス5の場合は、1つのタスクと4つのスレッドになります。
当然ですが、アプリケーションサーバーとして使用するわけではありません。
最大で20スレッドを生成するようにしています。
つまり、20台の機器を制御する場合は、21ライセンス必要なのでしょうか?
最悪、「/ApplicationStartup=R」で起動することになりますが、
CPU負荷率が100%となり実用上問題が残ってしまいます。
どなたか、このような経験をされた方が居られましたらアドバイスをお願いします。
複数(20台)の機器をMagicから制御しているのですが、
Magic自体が、1本のタスクでマルチスレッド処理はできないので、
複数のスレッドを立てて1つのスレッドで1台の機器を制御するようにプログラムしています。
同然1台のPC内で全ての処理が走ります。
機器が5台であれば、5つのスレッドを生成します。
メインコントロールタスクを含めれば6つ(タスク1+スレッド5)になります。
但し、メインコントロールは実行モード(R)で起動しています。
しかし、Magicの実行版は、起動オプションである
/ApplicationStartup=R
の場合は、必要な数のスレッド(実際にはタスク)を生成できますが、
/ApplicationStartup=B
の場合はライセンス数のスレッドしか立てられません。
1台のPC内で全て完結する場合もライセンス数が関係するのでしょうか?
ライセンス5の場合は、1つのタスクと4つのスレッドになります。
当然ですが、アプリケーションサーバーとして使用するわけではありません。
最大で20スレッドを生成するようにしています。
つまり、20台の機器を制御する場合は、21ライセンス必要なのでしょうか?
最悪、「/ApplicationStartup=R」で起動することになりますが、
CPU負荷率が100%となり実用上問題が残ってしまいます。
どなたか、このような経験をされた方が居られましたらアドバイスをお願いします。
投票数:0
平均点:0.00
投稿ツリー
-
バックグランド動作
(cabin, 2010-9-17 11:39)
-
Re: バックグランド動作
(kaerenaiyo07, 2010-9-17 12:08)
- Re: バックグランド動作 (cabin, 2010-9-20 14:41)
-
Re: バックグランド動作
(kaerenaiyo07, 2010-9-17 12:08)