関数の途中で戻って再開出来るとか、C言語コードだけ見てたらとても奇妙な冒険。 #include "stdafx.h" #include <Windows.h> const int LOOP_COUNT_IN_MAIN = 5; const int LOOP_COUNT_IN_FIBER = 5; PVOID pMainFiber; PVOID pFibers[4]; struct DestroyChecker { ~DestroyChecker() { printf("Fiber[%p]: Destroyed.\n"); } }; VOID WINAPI FiberFunc(PVOID pvParam) { DestroyChecker d; for (int i = 0; i < LOOP_COUNT_IN_FIBER; ++i) { printf("Fiber[%p]: %d (%x)