問題タブ [boost-thread]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
17082 参照

c++ - C ++でBoostを使用して、セマフォに似たものを実現するにはどうすればよいですか?

ブーストがセマフォをサポートしていないように見えることに気づきました。同様の効果を達成するための最も簡単な方法は何ですか?

0 投票する
4 に答える
15770 参照

c++ - 作業が完了した直後に boost::thread オブジェクトを削除する最良の方法は何ですか?

boost::thread演算子を使用してオブジェクトを作成し、newこのスレッドが作業を完了するのを待たずに続行します。

thread作業が完了したら削除する必要があると思います。スレッドの終了を明示的に待たずにこれを行う最善の方法は何ですか?

0 投票する
7 に答える
47669 参照

c++ - C++ スレッド プール

C++ が製品コード (boost など) で使用するスレッド プールの適切なオープン ソース実装は何ですか?

独自のサンプル コードまたはサンプル コードの使用方法へのリンクを提供してください。

0 投票する
2 に答える
1717 参照

multithreading - boost::thread およびテンプレート関数

別のスレッドでテンプレート関数を実行しようとしていますが、IntelliSense (VC++ 2010 Express) でエラーが発生し続けます: 「エラー: コンストラクター "boost::thread::thread" のインスタンスが引数リストと一致しません」コンパイルするには、次のエラーが表示されます:「エラー C2661: 'boost::thread::thread': no overloaded function takes 5 arguments」

テンプレートを追加してからエラーが発生しただけなので、テンプレートと関係があると確信していますが、何が原因かわかりません。

boost::thread に渡す 2 つの引数は、次のように定義されたテンプレート関数です。

と:

私はboost::threadを次のように呼び出そうとします:

0 投票する
2 に答える
20813 参照

c++ - ブーストを使用してスレッド プールを作成する

ブーストのスレッドを使用してスレッドプールを作成することは可能ですか? ブーストのライブラリ全体を見ていましたが、スレッドプールマネージャー (またはそのようなもの) が見つかりませんでした...それを行う方法はありますか?

tnx!

0 投票する
1 に答える
2563 参照

c++ - ブーストのチャット クライアントの例をよりよく理解する

まず、コード

writeなぜ彼らが電話を投稿する機能を作ったのか理解できませんio_serviceか?それはスレッドセーフであり、no1は同時にソケットを使用しますか? それは決して 2X が起こらないことを保証しasync_writeますか? いいえasync_writeasync_read一緒に使用されることはありますか?私はそれを確認する必要がasynch_writeありasync_read、同時に両方が起こらないようにする必要がありますか? または、両方を同時に実行しても安全ですか?ところで、コードをより速く実行したい場合は、2 つ (またはそれ以上) のスレッドを作成して実行できることを理解しio_service::run()ました。

0 投票する
3 に答える
2134 参照

c++ - C++スレッドストップウォッチ

JavaのTimerTaskに似たストップウォッチをC++で作成しようとしています。すでにスレッドが組み込まれているので、彼らのライブラリが好きです。BoostChronoを見たことがありますがまだ開発中であり、使用したくないと考えています。

私の現在の実装は運が悪かった(私は今メモリを使っているので、これは少し疑似コードのようかもしれない)。

私が欲しいのは、スレッドに継続的に呼び出しTick()て現在の時刻を出力させることです。また、私の現在の実装には、アプリケーションの残りの部分をブロックするスレッドがあるようです。これは、私が絶対に望んでいないことです。これらの両方をどのように行うのでしょうか?

私は糸脱毛に関しては初心者なので、正しくないと思われることを言った場合はご容赦ください。

0 投票する
1 に答える
1051 参照

c++ - ブーストの同期オブジェクトに関するチュートリアルが必要

ブーストのスレッドライブラリに関するドキュメントはasioライブラリほど良くありません...そしてこれを読んだ後:http://www.boost.org/doc/libs/1_44_0/doc/html/thread/synchronization.html I主なアイデアはわかりましたが、それを使用して見つけることができるコードや例はありません。それをどのように使用するかについてのリンクまたは説明をいただければ幸いです..

0 投票する
2 に答える
321 参照

c++ - 内部クラスと初期化

次のように定義されたクラスがあります。これは完全ではなく、おそらくコンパイルされません。

私の質問は、サーバーという名前の外部クラスを渡すワーカー配列をどのように初期化するかです。

私が欲しいのは、ワーカースレッドのベクトルです。各ワーカー スレッドには独自の状態がありますが、他の共有データにアクセスできます (表示されていません)。また、スレッドを作成するにはどうすればよいですか。クラス オブジェクトが最初に作成されるとき、または外部で thread_group から作成される必要があります。

また、スレッドをクリーンかつ安全にシャットダウンするにはどうすればよいですか?

編集:

次のように Worker を初期化できるようです。

そして、私は現在、スレッドを作成するために Server::Run でこれを行っています。

誰もこれに問題があると思いますか? 安全なシャットダウンはどうですか?

編集: 私が見つけた問題の 1 つは、Worker オブジェクトが構築されていないように見えることです! おっとっと。はい、Worker クラスにコピー コンストラクターが必要です。

しかし奇妙なことに、スレッドを作成すると、Worker のコピー コンストラクターが複数回呼び出されます。

0 投票する
3 に答える
168 参照

c++ - ソケットの質問

サーバークラスとクライアントクラスがありますが、問題は次のとおりです。着信接続を受け入れるために無限ループを作成すると、接続が受け入れられるまでブロックを受け入れるため、接続を受け入れている間、クライアントから受信したすべてのデータを受信できません。私のコード: