semaphore

    0

    1答えて

    pthreadとセマフォを使用して簡単なプロデューサコンシューマを作成しました。私は時々アウト・オブ・オーダー(生産者が生産する前に消費する消費者)のアウトプットを時々得ている。問題を見つけるのを手伝ってください。私はさまざまなソースとチュートリアルを使ってロジックを検証しましたが、依然として望ましくない結果を得ています。 #include <iostream> #include <pt

    0

    1答えて

    あなたがセマフォSystem Vのドキュメント(http://man7.org/linux/man-pages/man2/semop.2.html)で見ることができるように次のことを述べている部分があります: 例 次のコードセグメントは、(のsemopを使用しています)セマフォー0の の値がゼロになるまでアトミックに待ってから、セマフォー の値を1増分します。 struct sembuf sop

    1

    1答えて

    これは、マルチスレッドシナリオでの例外処理シナリオ用です。必要に応じて相互排他の下にロックされた共有リソース上で、複数のスレッドが並行して動作しています。あるスレッドが例外に直面した場合、sem_trywaitを使って他のスレッドがセマフォを待っているかどうかを調べることができます。また、セマフォを待っているスレッドが見つかったら、例外が発生したというフラグを使用します。待っているスレッドが待って

    0

    1答えて

    カーネルクラッシュダンプをデバッグしています。 1つのプロセスが新しい領域をマップするのに問題があるようです。問題は、メモリマップセマフォを保持できないことです。 私はプロセスのmm_structを調べ、その内容を印刷しました。私はstruct rw_semaphore mmap_semが下記の通りであることを知りました。今、彼はcountの価値が疑わしいと思われますか?あたかも0をチェックした後

    0

    1答えて

    現在、私はSpring Webアプリケーションの背後で実行されるスケジュールされたタスクに取り組んでいます。このタスクでは、cronスケジューラを使用して毎晩真夜中に実行し、未使用のアプリケーションを自分のポータルでクリーンアップします(私のサイトでは、ユーザーが記入するアプリケーションを作成でき、30日以内にフォームにアクセスしないと、タスクはDBから削除し、必要に応じて電子メールで新しいフォー

    2

    1答えて

    スウィフト2で書かれたアプリがあります。このような行があります。 semaphore.wait(timeout: dispatch_time_t(DISPATCH_TIME_FOREVER)); が、この行は、私はスウィフト3. にこれを変換することができますどのようスウィフト3でエラーとして示して私を助けてください。 おかげ

    3

    1答えて

    最近、私はこの問題を最初のリーダライタの問題とよく似ています。 Implementing an N process barrier using semaphores 私はそれを再利用し、正常に動作することができることを確認しましたし、それを修正しようとしています。 n = the number of threads count = 0 mutex = Semaphore(1) barrier

    -3

    1答えて

    Linuxでの同期問題のヘルプを探しています。私は初心者で、セマフォーを使って同期する方法を本当に理解していないと思います。私の仕事は、ファイルにアクセスする2つのプロセスを同期させることです.1つは別のプロセスからfifoを読み込み、このファイルに書き込み、次に別のプロセスに書き込みます。私のコードには同期がないことが分かっていますが、これをどうやって行うのかわかりません。 コード: sem_t

    2

    2答えて

    public class semaphoreTest { static LinkedList<Integer> integerLinkedList = new LinkedList<>(); static Semaphore semaphore = new Semaphore(1); static Object lock = new Object(); public static vo

    0

    1答えて

    2つのプロセスの同期に問題があります。私は3つのXプロセスと5つのYプロセスを持っています。また、私は2つのリソース(AとB)を持っています。 リソース'A 'は同時に最大3つのプロセスで使用でき、リソース' B 'にアクセスすると相互排除が必要です。 プロセスXとY: void processX() { while (1) { AccessToResource(