pthreads

    -2

    1答えて

    pthread_createに配列の要素をパラメータとして渡すことにはいくつか問題があります。 私はこの構造体を有する: struct threadInfo { int threadNumber; int sleepTime; }; 私はこのように(関数)で配列を初期化: struct threadInfo info[1]; 次にwhileループに私はこれを行う: i

    -3

    1答えて

    Mutexを使用してコード領域をロックしようとしています。私はできるだけ多くのコードを投稿しようとしました。 //Global Variables int sum; long long fact=1; pthread_mutex_t lock; pthread_t id1,id2; void *thread_1_And_2(void *accept_1) { //Accep

    0

    1答えて

    グローバルカウンタを使用すると、マルチスレッドアプリケーションでmutex(所有リソース用)と条件変数奇数と偶数を1つずつオンにします。 しかし、グローバルカウンタを使用せずに同じように達成するにはどうすればよいですか?

    0

    1答えて

    ソケットを使用してCで書かれた簡単なクライアントサーバープログラムがあります。サーバーは、要求ごとに新しいpthreadを開きます。新しい開かれたスレッドごとに、私はCPU集約的なタスク(行列の乗算)を行います。 私は2つの物理コアと4つの論理プロセッサを持つCPUを持っています。 4つのクライアントを実行すると、サーバーは4つのスレッドを開き、各スレッドは論理プロセッサーに割り当てられ、CPUは

    0

    1答えて

    次のコードを実行すると、個々のスレッドが順番に1つずつ実行されているようです。私はそれらを並行して実行することを期待していました。私のコードに何か問題がありますか、私は自分の環境を見始めるでしょうか?私はWindowsマシン上でApache、PHP 7を実行しています。 <?php class Searcher extends Worker { public $data = [];

    0

    1答えて

    100,000件以上のリクエストを取得する予定がありますが、少なくとも100件は同時に発生します。私がリクエストを得るたびに、新しいスレッドを作成し、それが完了したらpthread_exit()を使って破棄します。 pthread_detachを使用して99%の成功率を得ています。これよりも良い方法がありますか? pthread_t hilo; // infinite loop while (

    5

    1答えて

    私はミューテックスが不思議なふるまいをするホビープロジェクトに取り組んでいました。私はそれを明らかにデッドロックすべきこのテストケースに煮詰めました。私は-lpthreadフラグなしでコンパイルする場合だけでなく、プログラムがまだコンパイルとリンクん #include <pthread.h> #include <stdio.h> int main() { pthread_mutex

    0

    1答えて

    私はC++で書かれたチャットサーバーを持っていますが、私はphtreadsに問題があります。 このサーバーは複数の接続を処理すると仮定しているので、pthreadの配列を作成しました。新しいクライアントが接続すると、配列からこのクライアントに1つのpthreadが渡され、そこで関数の実装が呼び出されます。しかし、このクライアントがdisconectときどのpthreadが終了し、pthread配列

    1

    1答えて

    宿題にはlinuxのシステムコールを使用して、Cでプログラムされたシグナルを管理するだけです。 私がしなければならないことの1つは、threadに無期限にsigsuspendを呼び出してSIGALRMを待つことです。信号アラームがある場合は、printf()何か(問題ではありません)が必要です。 しかし、私はいくつかのことを試しましたが、うまくいきません。どうすればいいですか?"deblock"

    2

    1答えて

    Linuxカーネル4.4.0-57でC++ 11を使用して、2つのビジーループプロセス(例:p1、p2)を固定しようとしています(pthread_setaffinity_np )を同じコアに置き、POSIXセマフォ(セマフォーh)とsched_yield()を使用してインターリーブの実行順序を確認します。しかし、うまくいきませんでした。 以下は、2つのプロセスを生成し、それぞれが子タスクコードを実