Please select the category that most closely reflects your concern about the presentation, so that we can review it and determine whether it violates our Terms of Use or isn't appropriate for all viewers.
製品レビューからプログラミング関連のメモ書きまで幅広く扱うBlog。 ※個人的なメモ書きにつき記事内容の正確さは無保証。予告無く改変される可能性あり。指摘は歓迎。 使い方によっては強力な効果を発揮するマルチスレッドプログラミング。Windowsプログラミングやネットワークプログラミングでは重宝する。しかし一般的にVisual C++とPlatform SDKを用いてWindowsプログラミングをする場合、コールバック関数などの設計思想がC言語主体であるので、マルチスレッドプログラミングにてクラスを用いたアプリケーションを開発する場合に不都合な点が生じる。主にスレッドを作成する関数として、CreateThread、_beginthread,_beginthreadexなどが挙げられる。しかしMSDNによると C のランタイムライブラリに記録されている関数を使うスレッドは、CreateThre
[CEDEC 2009]MSの川西裕幸氏が次期開発ツール「Visual Studio 10」の並列化支援機能を紹介 ライター:米田 聡 もはや,マルチコアプロセッサは,価格的にも特別なものではなくなってきている。写真は「Phenom II X4 965 Black Edition/3.4GHz」 PCの世界でも,またコンシューマゲーム機の世界でもマルチコアプロセッサが急速に広がっている。シングルコアでの性能が向上していた時代なら,プログラマーが黙っていてもハードウェアが新しくなればプログラムの高速化が期待できたのだが,マルチコア時代はそうはいかない。 プロセッサ全体のパフォーマンスは上がっていても,コア1個あたりの性能が上がっているとは限らないため,なにも考えていないプログラムはまったく性能が上がらないという状況になっており,プログラマー側にも努力が求められるようになったのだ。いわずとしれ
マルチスレッドなプログラムを書いていると、スレッド間で共有する変数へのアクセスを正しく直列化できているか、という点が常に問題になります。どうせなら、正しく書けているかコンパイル時に確認したいよね、ということで、以下のような C++ テンプレートを書いてみました。 template <typename T> class cac_mutex_t { public: class lockref { protected: cac_mutex_t<T>* m_; public: lockref(cac_mutex_t<T>& m) : m_(&m) { pthread_mutex_lock(&m_->mutex_); } ~lockref() { pthread_mutex_unlock(&m_->mutex_); } T& operator*() { return m_->t_; } T* ope
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く