質問: flag; } }
回答: ループは基本的にsleepしないと処理を占有する。 メインスレッドが占有すると子のスレッドの処理が行われず、filenameにいつまでも値が入らない。 挙動の違いは、ネイティブのスレッドの仕組みの違いだろう。 たぶん、以前のWindowsなら同様に止まってしまう気がする。 というのは全部コードから得られる予想だけど、いずれにしても長時間が想定されるループには本来sleep必須。