- 363 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 21:54:35.77 ID:IblrvTVf0.net]
- >>356
たぶん原因が分かりました。 現在は標準関数をやめてWINAPIのCreateThreadを使ってますが標準関数と原因は同じです。 CreateThreadでThread1,Thread2を作成して監視してるとあるタイミングでThread2が消失してたのですが どうやらThread1で変更があった他のグローバル変数の値がThread2で上手く読めずに終了判定されて消えてたようです。 ようするに他のグローバル変数の書き換えが原因でした。 ロック処理をしたりしたのですが上手く行かずグローバル変数すべてにvolatileをつけると上手く動いてるようです。 でもこの回避作で良いんでしょうか?CriticalSectionを使ったりして処理してもうまく他スレッドでグローバル変数が 参照出来なかったのでvolatileをつけてみたら完璧に動作するようにはなったんですが……
|

|