producer-consumer

    0

    1答えて

    私は、pthreadsとセマフォを使ってCのプロデューサ/コンシューマの問題を解決しました。 私のメインスレッドはプロデューサーであり、私はN個のコンシューマースレッドを起動します。 私のコードは次のとおりです。 typedef struct { int buf[BUFSIZE]; /* shared var */ int in; /* buf[in%BUFSIZE]

    1

    1答えて

    単純なヒープがリストのリストとして定義されています。私はheapopheapqモジュールを使用して、最小のキー(暗黙のうちに内部リストの最初の要素であることがわかった)を使ってリストを抽出しました。しかし、以下のケースでは、ポップ作戦が珍しい結果を出すようです。 誰かが理由を説明できますか? ヒープ= [0、0、0]、[INF、1、1]、[INF、2、2]、[5]、[3,3]、[INF、4,4]

    0

    1答えて

    私が知っていることは、マイクロプロセッサは、関数呼び出し時にスタックポインタとリターンアドレスを追跡できるレジスタを持つかもしれないということです。しかし、ヒープはどうですか?誰がヒープポインタを追跡していますか?ヒープ内のメモリ割り当ては実際にはランダムな順序で行われますか?

    1

    1答えて

    私は何時間もこれを理解しようとしてきましたが、私は気分がいいです。誰かが私が間違っていると私に言うことができれば、私は確かにそれを感謝します。 私は単純なスタックを実装しているクラスでC++コードを書いて、ランダムなストリームのストリームをプッシュしてポップしようとしました。正常に動作するようですが、ファイルの末尾に、それはランタイムエラーのいくつかの並べ替え生成: HEAP CORRUPTION

    -2

    4答えて

    新しいキーワードを繰り返し使用すると、私はメモリリークに非常に注意しています。次の例では、メモリリークがありますか?私の腸の本能ははいと言います。 class Handler // Class definition {public: ~Handler(); int* ptrToInts; }; Handler::~Handler() // Class destruc

    -1

    1答えて

    downheap関数では、通常、最初に2つの子値を比較し、どちらが小さいかを判断し、親値を小さい子の値と比較し、最後に切り替えます。 しかし、私がちょうど親の値を左の子と比較すれば、それが大きくなると、切り替わります。右の子供を比較してください。大きくなれば、切り替わります。 これは機能しますか?

    14

    2答えて

    Pythonには、アルゴリズムが組み込まれています。これは、リストに適用できるpush、pop、nlargest、nsmallest ...などです。しかし、同じ機能をほぼサポートすると思われるqueue.PriorityQueueクラスもあります。違いは何ですか?いつ他のものを使いますか?

    0

    2答えて

    私はクラスXとaddX()というメソッドを持っていて、ヒープ上にXというオブジェクトを割り当てています。私はXのオブジェクトを直接割り当てることからクライアントコードを制限したい(X *ptr = new Xが許されないように)。 私はnew、new[]事業者が民間と宣言しましたが、私はaddX()を通じてX's objectsを割り当てるてるので、私は彼ら(オペレーター)を定義する必要があります

    7

    1答えて

    私はそれを理解する方法は、多くの異なったのmallocの実装が存在する: - 汎用アロケータ ptmalloc2 - glibcの jemalloc - FreeBSDとFirefoxの tcmalloc - dlmallocをグーグル libumemによる - Solaris どのmal locは私の(Linux)システムで実際に使用されていますか? 私は "ptmalloc2のスレッディングサ

    0

    1答えて

    私はスレッドを使用して計算を行う必要がある大学の割り当てがあります。それは、複数の生産者を持つ1つの消費者にまで沸き立ちます。>各生産者は1つの計算を行い、消費者はそれをすべて一緒に追加します。 プロデューサーがクリエイティブを計算してクリティカルセクションを終了するたびにプロデューサーがクリティカルセクションに入るように、これを同期させるのに問題があります。 ここで私が持っているコードは、これま