開発環境
- OS: Windows 10 Pro
- IDE(統合開発環境): Visual Studio 2017 (、Clang/C2(試験的))
- プログラミング言語: C(Visual C)
Head First C ―頭とからだで覚えるCの基本 (David Griffiths (著)、Dawn Griffiths (著)、中田 秀基 (監修)、木下 哲也 (翻訳)、オライリージャパン)の12章(スレッド - 並列の世界)、コードマグネット(p. 509)を取り組んでみる。
コードマグネット(p. 509)
コード
#include <stdio.h> #include <CoreWindow.h> int beers = 2000000; LPTHREAD_START_ROUTINE drink_lots(void *a) { for (size_t i = 0; i < 100000; i++) { beers--; } } int main() { HANDLE handls[20]; for (size_t i = 0; i < 20; i++) { handls[i] = CreateThread(NULL, 0, drink_lots, NULL, NULL, NULL); } for (size_t i = 0; i < 20; i++) { WaitForSingleObject(handls[i], INFINITE); } printf("現在、壁にはビールが%i本あります。\n", beers); return 0; }
入出力結果(コマンドプロンプト)
>beer.exe 現在、壁にはビールが674584本あります。 >beer.exe 現在、壁にはビールが697310本あります。 >beer.exe 現在、壁にはビールが795491本あります。 >beer.exe 現在、壁にはビールが832888本あります。 >beer.exe 現在、壁にはビールが936105本あります。 >
0 コメント:
コメントを投稿