問題タブ [pthreads]

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 投票する
7 に答える
16398 参照

windows - Windowsの手動リセットイベントをLinuxに移植しますか?

Windowsの手動リセットイベントをpthreadに移植する際に、pthread条件変数+ pthreadミューテックス+イベントが設定または設定解除されている場合のフラグよりも簡単な解決策はありますか?

0 投票する
13 に答える
18827 参照

c - IOのブロックにぶら下がっているスレッドに参加するにはどうすればよいですか?

入力デバイスからのイベントをブロックして読み取っているスレッドがバックグラウンドで実行されています。アプリケーションを終了するときにスレッドを適切にクリーンアップしたいのですが、スレッドが原因でpthread_join()を実行できません。 IOがブロックされているために終了することはありません。

その状況を適切に解決するにはどうすればよいですか?ブロックを解除するには、pthread_kill(theard、SIGIO)またはpthread_kill(theard、SIGALRM)を送信する必要がありますか?それのどちらかが正しい信号でさえありますか?または、この状況を解決して、その子スレッドにブロッキング読み取りを終了させる別の方法はありますか?

私のグーグルのどれも解決策を見つけられなかったので、現在少し困惑しています。

これはLinux上で、pthreadを使用しています。

編集:SIGIOとSIGALRMを少し試してみました。シグナルハンドラーをインストールしないと、ブロッキングIOが壊れますが、コンソールにメッセージが表示されます(「I / O可能」)が、シグナルハンドラーをインストールすると、そのメッセージを回避するために、ブロッキングIOを中断しなくなったため、スレッドは終了しません。ですから、私はステップ1に戻ります。

0 投票する
6 に答える
3969 参照

c++ - POSIX スレッドを使用してブロッキング読み取りを実装する方法

おおよそのインターフェースに従う生産者/消費者シナリオを実装したいと思います。

この場合、feedrunは別々のスレッドで実行されread、ブロッキング読み取り (recvと などfread) である必要があります。明らかに、deque である種の相互排除が必要にreadなります。また、再試行を通知する何らかの通知システムが必要です。

条件変数が最適だと聞きましたが、マルチスレッドの経験はすべて Windows にあり、それらについて頭を悩ませています。

助けてくれてありがとう!

(はい、ベクトルを返すのは非効率的であることはわかっています。それには立ち入りません。)

0 投票する
5 に答える
5363 参照

c++ - pthread の詳細についてはどこで知ることができますか?

pthread に大きく依存するコードの作業を依頼されました。このライブラリには、私が何も知らないほど多くの呼び出しが行われています。私は pthread の基本を学び、結合の作成などのいくつかの例を試しましたが、その深さはわかりません。

私はhttp://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.htmlを使用してその多くを学びました

上記のチュートリアルには、初心者が必要とする pthread ライブラリの詳細な説明は含まれていません。シグナル処理、ミューテックス、同時実行性などの高度なもののほとんどを見て学ぶために、ウェブサイトまたは電子ブックをお勧めできますか.

TIA、the_Saint

0 投票する
6 に答える
25689 参照

synchronization - 2 つのプロセスを同期するにはどうすればよいですか?

同じワークステーション上の 2 つのアプリケーション (プロセス) から使用したい単一の HW インターフェイスがあります。HW は 1 回の初期化呼び出しを必要とし、いずれかのアプリが (同じライブラリ内の) 同じ関数を使用して、HW で多くのトランザクションを実行します。

したがって、各アプリは次のように動作する必要があります。

2 つのアプリケーション間で共有されるロックおよび参照カウント呼び出しで使用できるメカニズムは何ですか? 名前付きパイプ、つまり mkfifo() を考えています。

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

windows - スレッドローカルストレージの始まりと終わりを見つける方法は?

Windows と Linux では、与えられたスレッド ハンドルに対応する静的スレッド ローカル ストレージ ブロックの開始と終了をどのように判断できますか?

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

c++ - pthreadを使用したAIXでの静的リンク

私はこれを数日間読んで調査してきましたが、外部からの支援が必要だと判断しました。

(そしてこのサイトはいい場所のようだったので、ここに質問を投稿してどうなるか見てみようと思いました)

私たちの小さな会社は、AIXでアプリケーションを数年間構築しておらず、私にはこのタスクが割り当てられています(私が挑戦するのが好きなのは良いことです)。

私が抱えている問題は簡単に説明でき、他の人もそれを経験していることがわかりますが、答えは見つからないようです。

アプリを「非静的」にリンクすると、ビルドコマンドで「-static」を使用しない場合、アプリは開発マシンでは正常に実行されますが、テストに使用する他のAIXマシンでは実行されません。

[2台のマシンに関するクイックノート;

dev:

テスト:

]

「-static」とリンクすると、例外がスローされたときに、開発マシンで実行時にアプリが「中断」します。

そして(それだけでは不十分であるかのように)、アプリはまだテストマシンで実行されません:

ここで、「-pthead」を使用してリンクしていることに注意してください。pthreadを使用する場合、静的にリンクすることはできませんという記事をいくつか読んだことがあります。

脳が痛い。

これについてのご意見をいただければ幸いです。

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

initialization - pthread_mutex_t 初期化エラー

tiger で xcode 2.4.1 を使用しています。以下を実行すると、すべて問題ありません。私がする時

これら2つのエラーが発生します

どうしてか分かりません。ただし、 pthread_mutex_t ミュート = PTHREAD_MUTEX_INITIALIZER; を実行すると、それは正常に動作します。なんで?

-編集-実行していませんが、これはコンパイルできるようです。なんで?は?

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

multithreading - POSIX キャンセル ポイントとは何ですか?

POSIX キャンセル ポイントとは何ですか? POSIX キャンセル ポイントの決定的なリストを探しています。

accept()select()キャンセルポイントと書いてある本を持っていたので質問していますが、インターネット上でそうではないと主張しているサイトを見たことがあります。

また、Linux のキャンセル ポイントが POSIX のキャンセル ポイントと異なる場合は、それらのリストも必要です。

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

c++ - mem_fun が失敗し、pthread とクラス ptr

pthreadパラメータとして取り込んで、問題を解決するためにvoid *(*start_routine)(void* userPtr)使用できることを望んでいましたが、できません。std::mem_fun

void * threadFunc()関数を使用してuserPtr、クラスとして機能させたいと思います(userPtr->threadFunc())。私が使用できるのと同様の機能はありstd::mem_funcますか?