Thread
Threadについて、プログラミングの仕方がよくわからなかったから、一昨年(?)のソフトウェア構成論(?)で購入したJava言語プログラミングレッス下を読んでみた。
K先生が薦めていただけあって、当時はよくわからなかったけど、今読むと結構いろいろなことが書いてあって、分かりやすいことに気がついた。
それで、BNNのプログラムにThreadを導入して、センサー情報取得要求を送って、しばらくしても値が返ってこなかったら、再要求を送るようにしてみた。
結構、いいかも。
それはそれでいいとして、それに伴って問題も発生。基本的に要求は2つマデしか働いてくれないようで(シミュレータの場合)、4個くらい同時に要求を送ってみた。なにやら、TinyOSよりのところで、Vectorが限界を突破したというような例外が投げられている。
後、再現率が結構低めなんだけど、ときどきどこに運んだらいいのか分からないというようなエラーをシミュレータが出している気がする。
0 : UNTARGETED MESSAGE FROM 3, SEQNO 879
0 : UNTARGETED MESSAGE FROM 3, SEQNO 475
ちゃんと要求取り消しメッセージを送っても、センサーに無線で送るから、きちんと要求が届いてくれないかもしれないっていうところまで、シミュレートしてくれているのか?それともプログラミングが間違っているのか?
たぶん後者でしょうね・・・。