Thread

Threadについて、プログラミングの仕方がよくわからなかったから、一昨年(?)のソフトウェア構成論(?)で購入したJava言語プログラミングレッス下を読んでみた。

K先生が薦めていただけあって、当時はよくわからなかったけど、今読むと結構いろいろなことが書いてあって、分かりやすいことに気がついた。

それで、BNNのプログラムにThreadを導入して、センサー情報取得要求を送って、しばらくしても値が返ってこなかったら、再要求を送るようにしてみた。

結構、いいかも。

それはそれでいいとして、それに伴って問題も発生。基本的に要求は2つマデしか働いてくれないようで(シミュレータの場合)、4個くらい同時に要求を送ってみた。なにやら、TinyOSよりのところで、Vectorが限界を突破したというような例外が投げられている。

後、再現率が結構低めなんだけど、ときどきどこに運んだらいいのか分からないというようなエラーをシミュレータが出している気がする。

0 : UNTARGETED MESSAGE FROM 3, SEQNO 879

0 : UNTARGETED MESSAGE FROM 3, SEQNO 475

ちゃんと要求取り消しメッセージを送っても、センサーに無線で送るから、きちんと要求が届いてくれないかもしれないっていうところまで、シミュレートしてくれているのか?それともプログラミングが間違っているのか?

たぶん後者でしょうね・・・。