エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
CreateThreadと_beginthreadex - blog
CreateThreadを使ってはいけない、代わりに_beginthreadexを使いなさい。 という有名な掟がWin32のマル... CreateThreadを使ってはいけない、代わりに_beginthreadexを使いなさい。 という有名な掟がWin32のマルチスレッドの世界にはある。 理由は簡単だ。 マルチスレッドを想定していないCランタイム(CRT)関数は、大域変数を使うことを前提としているからだ。 errno, _doserrno, asctime(), ctime(), localtime(), gmtime(), mktime()などだけでなく、mallocやfreeも当然これに該当する。 C++のnew, deleteもmalloc, freeに依存している。 この問題を回避するために、マルチスレッド版のCRTでは、大域変数を格納するに必要なメモリ領域をヒープ上に確保して、このポインタをTLSに保存することで、スレッドセーフにしている。 この領域をスレッド終了時に解放するための割り込みを挿入するのが
2009/07/30 リンク