問題タブ [pthreads-win32]
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.
c - ウィンドウ プラットフォームで pthread を使用できません
私の環境は Windows8.1 (64bit) で、Visual Studio 2010 を使用しています。
すべての *.dll ファイルを system32 、 SYSWOW64 に配置しました(win8 64ビットを使用しているため)。
VC 2010 を使用する x64 システム用の *.lib ファイルの場所をリンクします。
もちろん、フォルダー lib forders.. を追加し、フォルダーを含める.. など..
しかし、「pthread-used」プロジェクトをコンパイルしようとすると、致命的なエラーが発生しました。
-ソース
-エラー
私を助けてください
c - pthread win32 を使用して他のスレッドでプロセスを終了できないのはなぜですか?
これが私のコード スニペットです。完全なコードを表示するには、ここをクリックしてください。
pthread win32 を使用して他のスレッドでプロセスを終了できないのはなぜですか?
すぐに終了する必要があるため、他のスレッドでプロセスを終了するにはどうすればよいですか? ありがとう。
c - pthread、Windows での pthread、pthread のトラブル、リンカ エラー、msvc 2008/2010 での pthread リンカ エラー
MSVC 2010 で pthread を実行しており、 pthreadVC2 .lib & .dll をインクルードしています。以下のサイトhttp://sourceware.org/pthreads-win32/ http://web.cs.du.edu/~sturtevant/pthread.html から
php - PHP: Pthread + Memcache の問題
Memcache は、pthread スレッド内では機能しないようです。
次の警告が表示されます。
c - Windows 上の Pthread - sleep への未定義の参照
私は、pthreads を使用してダイニング哲学者ソリューションを実装しようとしています。mingw インストール マネージャーを介してインストールされた Windows 用の pthreads があるにもかかわらず、Lenovo yoga2pro PC (Windows 8.1 で実行) で実行しようとしましたが、このエラーが発生しました。コードの一部に sleep() メソッドがある場合に発生します。
sleep() メソッドを含まない別のファイルをコンパイルしようとすると。これは私が得るものです:
それはうまく動作します。スレッドについてもっと学ぶためにこのコードを書き始めたところです。これは、食事の哲学者のソリューションをプロジェクトとして解決する方法を実装しようとしているためです。私は何を間違っているのかわかりません。(Windowsのpthreadsでこれをやろうとしている理由は、それが要件だからです)
c++ - Mergesort pThread の実装にシングルスレッドと同じ時間がかかる
(どこで何か間違っているのかを見つけるために、これをできるだけ単純化しようとしました。)
コードのアイデアは、グローバル配列 *v を持っていることです (この配列を使用しても速度が低下しないことを願っています。スレッドはすべて異なる範囲で動作するため、スレッドが同じ値にアクセスすることはありません)。2 つのスレッドを作成しようとしています。それぞれが、それぞれのパラメーターを指定して関数 merge_sort() を呼び出して、前半と後半をそれぞれソートします。
スレッド化された実行では、プロセスが 80 ~ 100% の CPU 使用率 (デュアル コア CPU の場合) に達していることがわかりますが、非スレッド実行では 50% のままですが、実行時間は非常に近いです。
これは(関連する)コードです:
//これらは 2 つのソート関数で、各スレッドは merge_sort(..) を呼び出します。これは問題ですか?両方のスレッドが同じ (通常の) 関数を呼び出していますか?
//ここでは、各スレッドが作成され、その特定の範囲で merge_sort が呼び出されることを期待しています (これは、バグを見つけやすくするために元のコードを簡略化したものです)
//メインでは、上記の関数を呼び出す 2 つのスレッドを作成するだけです
出力 (100 万の値):
スレッドなしで、merge_sort を直接呼び出して出力します。
出力 (1000 万の値):
スレッドなしで、merge_sort を直接呼び出して出力します。
解決:
WhozCraig と Adam にも感謝したいと思います。彼らは最初からこれを示唆していました。
私はinplace_merge(..)
自分の代わりに関数を使用しましたが、プログラムの実行時間は現在のようになっています。
これが私の最初のマージ関数です(最初のものかどうかはよくわかりません。おそらく数回変更したため、配列インデックスも今間違っている可能性があります。[a、b]と[a、bの間を行ったり来たりしました) 、これは最後のコメントアウトされたバージョンです):
これはすべて次のものに置き換えられました。
編集、私の3GHzデュアルコアCPUで時々:
100 万の値: 1 スレッド: 7.236 秒 2 スレッド: 4.622 秒 4 スレッド: 4.692 秒
1000 万の値: 1 スレッド: 82.034 秒 2 スレッド: 46.189 秒 4 スレッド: 47.36 秒
c++ - .h および .cpp での pthread の実装
pthread_create メソッドの pthreads で関数を引数として渡す通常の方法は次のとおりです。
func() が次のように宣言/定義されている間
しかし、ビジュアルスタジオ2012で別の.cppでpthread_createを呼び出したいときはいつでも、写真に示すように次のエラーが発生します
しかし、関数 static を定義すると、エラーはなくなります。
静的にせずにエラーなしで渡す方法はありますか?
c++ - Eclipse 64ビットを使用したMinGW 32のpthread
私は MinGW32 を持っており、Eclipse で pthread を使用して小さなコードを作成しています。コードは正常にコンパイルおよびリンクされますが、ゼロ以外の終了値で実行すると終了します。これに関する警告はありませんが、デバッグすると問題なく動作します。アドバイスをお願いします。