問題タブ [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.
windows - Windowsの手動リセットイベントをLinuxに移植しますか?
Windowsの手動リセットイベントをpthreadに移植する際に、pthread条件変数+ pthreadミューテックス+イベントが設定または設定解除されている場合のフラグよりも簡単な解決策はありますか?
c - IOのブロックにぶら下がっているスレッドに参加するにはどうすればよいですか?
入力デバイスからのイベントをブロックして読み取っているスレッドがバックグラウンドで実行されています。アプリケーションを終了するときにスレッドを適切にクリーンアップしたいのですが、スレッドが原因でpthread_join()を実行できません。 IOがブロックされているために終了することはありません。
その状況を適切に解決するにはどうすればよいですか?ブロックを解除するには、pthread_kill(theard、SIGIO)またはpthread_kill(theard、SIGALRM)を送信する必要がありますか?それのどちらかが正しい信号でさえありますか?または、この状況を解決して、その子スレッドにブロッキング読み取りを終了させる別の方法はありますか?
私のグーグルのどれも解決策を見つけられなかったので、現在少し困惑しています。
これはLinux上で、pthreadを使用しています。
編集:SIGIOとSIGALRMを少し試してみました。シグナルハンドラーをインストールしないと、ブロッキングIOが壊れますが、コンソールにメッセージが表示されます(「I / O可能」)が、シグナルハンドラーをインストールすると、そのメッセージを回避するために、ブロッキングIOを中断しなくなったため、スレッドは終了しません。ですから、私はステップ1に戻ります。
c++ - POSIX スレッドを使用してブロッキング読み取りを実装する方法
おおよそのインターフェースに従う生産者/消費者シナリオを実装したいと思います。
この場合、feed
とrun
は別々のスレッドで実行されread
、ブロッキング読み取り (recv
と などfread
) である必要があります。明らかに、deque である種の相互排除が必要にread
なります。また、再試行を通知する何らかの通知システムが必要です。
条件変数が最適だと聞きましたが、マルチスレッドの経験はすべて Windows にあり、それらについて頭を悩ませています。
助けてくれてありがとう!
(はい、ベクトルを返すのは非効率的であることはわかっています。それには立ち入りません。)
c++ - pthread の詳細についてはどこで知ることができますか?
pthread に大きく依存するコードの作業を依頼されました。このライブラリには、私が何も知らないほど多くの呼び出しが行われています。私は pthread の基本を学び、結合の作成などのいくつかの例を試しましたが、その深さはわかりません。
私はhttp://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.htmlを使用してその多くを学びました
上記のチュートリアルには、初心者が必要とする pthread ライブラリの詳細な説明は含まれていません。シグナル処理、ミューテックス、同時実行性などの高度なもののほとんどを見て学ぶために、ウェブサイトまたは電子ブックをお勧めできますか.
TIA、the_Saint
synchronization - 2 つのプロセスを同期するにはどうすればよいですか?
同じワークステーション上の 2 つのアプリケーション (プロセス) から使用したい単一の HW インターフェイスがあります。HW は 1 回の初期化呼び出しを必要とし、いずれかのアプリが (同じライブラリ内の) 同じ関数を使用して、HW で多くのトランザクションを実行します。
したがって、各アプリは次のように動作する必要があります。
2 つのアプリケーション間で共有されるロックおよび参照カウント呼び出しで使用できるメカニズムは何ですか? 名前付きパイプ、つまり mkfifo() を考えています。
windows - スレッドローカルストレージの始まりと終わりを見つける方法は?
Windows と Linux では、与えられたスレッド ハンドルに対応する静的スレッド ローカル ストレージ ブロックの開始と終了をどのように判断できますか?
c++ - pthreadを使用したAIXでの静的リンク
私はこれを数日間読んで調査してきましたが、外部からの支援が必要だと判断しました。
(そしてこのサイトはいい場所のようだったので、ここに質問を投稿してどうなるか見てみようと思いました)
私たちの小さな会社は、AIXでアプリケーションを数年間構築しておらず、私にはこのタスクが割り当てられています(私が挑戦するのが好きなのは良いことです)。
私が抱えている問題は簡単に説明でき、他の人もそれを経験していることがわかりますが、答えは見つからないようです。
アプリを「非静的」にリンクすると、ビルドコマンドで「-static」を使用しない場合、アプリは開発マシンでは正常に実行されますが、テストに使用する他のAIXマシンでは実行されません。
[2台のマシンに関するクイックノート;
dev:
テスト:
]
「-static」とリンクすると、例外がスローされたときに、開発マシンで実行時にアプリが「中断」します。
そして(それだけでは不十分であるかのように)、アプリはまだテストマシンで実行されません:
ここで、「-pthead」を使用してリンクしていることに注意してください。pthreadを使用する場合、静的にリンクすることはできませんという記事をいくつか読んだことがあります。
脳が痛い。
これについてのご意見をいただければ幸いです。
initialization - pthread_mutex_t 初期化エラー
tiger で xcode 2.4.1 を使用しています。以下を実行すると、すべて問題ありません。私がする時
これら2つのエラーが発生します
どうしてか分かりません。ただし、 pthread_mutex_t ミュート = PTHREAD_MUTEX_INITIALIZER; を実行すると、それは正常に動作します。なんで?
-編集-実行していませんが、これはコンパイルできるようです。なんで?は?
multithreading - POSIX キャンセル ポイントとは何ですか?
POSIX キャンセル ポイントとは何ですか? POSIX キャンセル ポイントの決定的なリストを探しています。
accept()
とselect()
キャンセルポイントと書いてある本を持っていたので質問していますが、インターネット上でそうではないと主張しているサイトを見たことがあります。
また、Linux のキャンセル ポイントが POSIX のキャンセル ポイントと異なる場合は、それらのリストも必要です。
c++ - mem_fun が失敗し、pthread とクラス ptr
pthread
パラメータとして取り込んで、問題を解決するためにvoid *(*start_routine)(void* userPtr)
使用できることを望んでいましたが、できません。std::mem_fun
void * threadFunc()
関数を使用してuserPtr
、クラスとして機能させたいと思います(userPtr->threadFunc())
。私が使用できるのと同様の機能はありstd::mem_func
ますか?