私はスレッドに不慣れです。24時間年中無休で毎分複数のセンサーと一度に通信したい。
セナリオ: 3つの引数を取るセンサーと話す方法があります
public String perform(String command, String ip, String port)
{
//talk to the sensor and then
returns reply;
}
センサーの詳細を含むデータベースがあります。
私が今していること
while(true)
{
//get sensors from database
//run perform method for all instruments
for(int i=0;i<sensors.length-1;i++)
{
//call perform method and save the reply
}
Thread.sleep('one minute');
}
問題: 問題は、100個のセンサーがあり、各センサーが応答するのに1秒かかる場合、その後1分間待機することです。この場合、一部の情報が失われる可能性があります。そして、正直に言うと、応答するのに1秒以上かかります。
私がやりたいのは、すべてのセンサーのデータベースから情報を取得し、センサーごとに1つのスレッドを作成することです。次に、すべてのスレッドを一度に実行すると、いくつかの情報が返されます。その後、1分間待ってから、もう一度実行します。
どんな助けでも大歓迎です。
ありがとう