This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
![C++: 水面下の仕組み - Microsoft Visual C++ Web Site](https://cdn-ak-scissors.b.st-hatena.com/image/square/d6e4cb632c7025e9f5e05fd314fbf6dcd6144e8d/height=288;version=1;width=512/https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fmedia%2Fopen-graph-image.png)
This article is about the concurrency concept. For multithreading in hardware, see Multithreading (computer architecture). For the form of code consisting entirely of subroutine calls, see Threaded code. For other uses, see Thread (disambiguation). A process with two threads of execution, running on one processor Program vs. Process vs. Thread Scheduling, Preemption, Context Switching In computer
本日、JAIPAによる第2回 ISPのWorld IPv6 Launch対応説明会」が開催され、先ほど、「World IPv6 Launch対応について(第2版)」および「第2回ISPのWorld IPv6 Launch対応説明会」の発表資料が公開されました。 資料が公開されたのは、4月27日に公開された「ISPのWorld IPv6 Launch対応説明会第2回の開催につきまして」というお知らせの追記としてです。 ISPのWorld IPv6 Launch対応説明会第2回の開催につきまして World IPv6 Launch対応について(第2版) (PDF) 発表資料PDF 以下、個人的に興味を持った部分を紹介します。 公表された資料には、他にも色々なことが書かれているので、詳細は是非原文をご覧下さい。 第1版から大幅update 第2版を読んだ感想として、第1版とはかなり大きく異なると
This site is now archived and is not receiving updates. Please visit Internet Society Pulse for network operator IPv6 measurements.. IPV6 IS THE NEW NORMAL Major Internet service providers (ISPs), home networking equipment manufacturers, and web companies around the world are permanently enabling IPv6 for their products and services. Global IPv6 traffic has grown more than 5000% since World IPv6 L
JavaScript Required This site requires JavaScript, as well as the ability to pull in cross-site scripts, in order to perform the testing. If this message does not go away, it means that JavaScript has been disabled, either by a plugin or extension in your browser, or by explicit browser setting. Do you use NoScript? If you use this Firefox add-on, you'll need to "Temporarily allow all this page".
C11 (formerly C1X) is an informal name for ISO/IEC 9899:2011,[1] a past standard for the C programming language. It replaced C99 (standard ISO/IEC 9899:1999) and has been superseded by C17 (standard ISO/IEC 9899:2018). C11 mainly standardizes features already supported by common contemporary compilers, and includes a detailed memory model to better support multiple threads of execution. Due to del
高精細映像を効率的に圧縮して伝送するために、映像符号化の研究を進めています。次世代映像符号化方式HEVC※1によって圧縮された符号化信号を、リアルタイムに復号・表示できるソフトウェアデコーダーを開発しました。 次世代映像符号化方式HEVCを採用 HEVC方式は、AVC/H.264方式の2倍の圧縮性能を目指して標準化が行われている次世代映像符号化方式です。四分木による画像領域分割※2、拡張された予測・変換サイズ、高精度な予測技術、復元フィルターなどの採用により、従来よりも高い圧縮性能を実現しています。 高精細映像に対応 このソフトウェアデコーダーは、ハイビジョンを上回る高精細映像の符号化信号をリアルタイムに復号・表示することができます。複数の処理を同時に行う並列化技術を活用することにより、高精細映像のリアルタイム処理を実現しています。 復号映像の情報出力機能を搭載 このソフトウェアデコーダー
Overview High Efficiency Video Coding (HEVC) is the current joint video coding standardization project of the ITU-T Video Coding Experts Group (ITU-T Q.6/SG 16) and ISO/IEC Moving Picture Experts Group (ISO/IEC JTC 1/SC 29/WG 11). The Joint Collaborative Team on Video Coding (JCT-VC) was established to work on this project. The scope of this group was extended to continue working on Format Range E
C++でWin32APIをラップしたようなライブラリを作ってるんだけど、スレッド機能の実装にて。 スレッドを開始するには_beginthreadex関数を使用する 主な引数は呼び出す関数の開始アドレスとそれに渡す引数(void*型) で、関数は__stdcall呼び出し規約である必要があって、戻り値がunsigned、引数がvoid*である必要がある。 そして重要なのは「仮想関数はアドレスが取れない」という事実。 ま、仮想関数が使いたければこんな風にやるわけだ。 class Thread { public: virtual ~Thread() {} void start(); virtual void run() = 0; private: static unsigned __stdcall run_(void*); }; void Thread::start() { // thisポイン
コールバック関数とオブジェクト指向 1. スレッドをC++クラスでラップしたい! ワーカースレッドを作る際には、MFCでは普通、AfxBeginThreadにスレッド制御関数へのポインタを渡してスレッドを開始させます。でも、スレッド制御関数に渡せるパラメータは32ビットのポインタ1つだけです。まあ、グローバル変数を使って情報をやり取りすればいいんだけど、それじゃあ、オブジェクト指向っぽくなくてかっこ悪いような気がするし、構造体の中に渡したいパラメータをまとめて、それへのポインタを渡すのもいいけど、もっとかっこいいやり方があります。 ワーカースレッドについて、必要なもの全てをまとめて、1つのクラスを作ってしまえばいいのです。でも、ここで1つ問題が出てきます。スレッド制御関数もクラスのメンバに加えたいのですが、メンバ関数をスレッド制御関数にすることはできないのです。これは、一般的に言えることで
condition variableのほうが一般的でしょうか? とりあえずwindowsなので、イベントのラッパーを作ってみます。 eventクラス #include <windows.h> class event { typedef HANDLE handle_t; public: event( bool manual_reset, bool init_state ) { handle = CreateEvent( 0, manual_reset ? TRUE : FALSE, init_state ? TRUE : FALSE, 0 ); if( handle == 0 )throw "CreateEvent"; } protected: virtual ~event() { CloseHandle( handle ); } public: bool wait( unsigned lo
出来るだけdeleteは書きたくないので、前回実装したintrusive_ptrを使って修正します。 修正する項目は thread_data_baseクラスのデストラクタをprotectedにする thread_data_baseクラスに参照カウンタを追加。 thread_data_baseクラスにintrusive_ptr_add_ref( thread_data_base* )、intrusive_ptr_release( thread_data_base* )を追加 threadクラスのthread_data_base*をintrusive_ptr< thread_data_base >に変更し、deleteを消去 の4点です。 class thread_data_base { /*略*/ protected: virtual ~thread_data_base(){ close()
XAudio2のイベント通知のためにthreadクラスが必要になったので、テンプレートを使って実装してみたいと思います。ただし、pthreadは使ったことがないので、windowsのみの実装になります。 参考サイト Boost.Threads 前回雑記で書いたthreadクラスの実装を晒す - xyuyuxの日記 threadクラスの実装を晒す2 - xyuyuxの日記 CLX C++ Libraries 使い方 コンストラクタに戻り値void、引数voidの関数または関数オブジェクトを渡して、スレッドを開始します。 void hoge(){ std::cout << "hoge" << std::endl; } struct piyo { void operator()(){ std::cout << "piyo" << std::endl; } }; int main() { thre
C++でJavaっぽいスレッドクラス作るには、 pthread_createにthisを渡すことで実現できる。 #include<pthread.h> #include<stdio.h> #include<iostream> using namespace std; class Runnable{ private: public: Runnable(){} virtual ~Runnable(){} virtual void run() = 0; }; class Thread : virtual public Runnable{ private: Runnable * runnable; pthread_t threadID; static void * __run( void * cthis ){ static_cast<Runnable*>(cthis)->run(); return
富士フイルムイメージングシステムズは5月22日、APSフィルムの販売を5月末で終了すると発表した。既に生産は終了しており、在庫がなくなる見通しになったため。コダックもAPSフィルムの生産を終了しており、APSは姿を消すことになった。 昨年7月に在庫限りで販売を終了すると告知。販売が年々大幅に減少している上、一部原材料が入手困難になっており生産ができない状況だと説明していた。 APSフィルムの販売は終了するが、「今後も製品ラインアップの見直しや生産効率化を行いながら継続して写真フィルムをご利用いただける体制づくりを進めていきます」と銀塩フィルム存続について説明している。 APSは「Advanced Photo System」の略。富士とEastman Kodak、キヤノン、ニコン、ミノルタによって規格化されて1996年に対応フィルムとカメラが発売されたが、同時期に登場したデジタルカメラに押さ
Googleが125億ドルのMotorola Mobility買収を完了し、サンジェイ・ジャ氏に代わりGoogle幹部のデニス・ウッドサイド氏が新CEOに就任した。 米Googleは5月22日(現地時間)、米Motorola Mobilityの買収を完了したと発表した。 Googleは昨年8月、Motorolaを1株当たり40ドル、総額およそ125億ドルで買収すると発表した。2月に欧州委員会と米司法省が、5月19日に中国商務部が承認したことで、買収完了に必要な認可をすべて取得できたとしている。 買収完了後もMotorola Mobilityは独立した事業体として存続し、AndroidのライセンシーとしてAndroid端末の開発を進める。Androidはオープンなライセンス形態を継続する。 Motorolaのサンジェイ・ジャCEOは退任し、後任にGoogleのアメリカ地域の社長、デニス・ウッ
いよいよ無線も1Gビット/秒超へ、バッファローが業界初の「11ac」製品の販売を開始:無線通信技術 IEEE 802.11ac バッファローは、IEEE 802.11acに対応した無線LANルータを業界で初めて発売した。IEEE 802.11ac対応製品が登場したことで、有線だけではなくワイヤレスでも、ギガビットネットワークを構築することが可能になる。 バッファローは、次世代の無線LAN規格「IEEE 802.11ac」に対応したルータ「AirStation WZR-D1800H」とイーサネットコンバータ「AirStation WLI-H4-D1300」の販売を米国で開始したと発表した。 IEEE 802.11acは、現在広く使われている無線LAN規格「IEEE 802.11n」の後継に位置付けられる新規格である(関連記事)。5GHz帯を使い、1Gビット/秒を超えるデータ伝送速度を実現する
HTTP・HTTPS・DNS・UDP・UPnP・POP3・FTP・HTTPProxy・Terminal Services・DHCP・IGMPといったネットワーク通信量とパソコンのCPU負荷率・ディスク動作を計測してリアルタイムにグラフ化できるのが「Yale」です。特定のネットワーク通信量だけを表示する設定も可能となっています。ダウンロードから操作方法までは以下から。 Yale::See network adapter usage - The SZ http://thesz.diecru.eu/content/yale.php ◆ダウンロード 上記サイトの「Download Yale.zip」をクリック。 ダウンロードしたZIPファイルをExplzhなどで解凍して、「Yale.exe」を起動。 ◆操作方法 起動後、画面右下に「Yale」が表示されます。 CPU負荷率・Disk動作・ネットワー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く