-1

pthread でのグローバル変数の書き込みに問題があります。私のコードの頭で定義されたいくつかの変数 - >

int iPlcWriteReal;

いくつかの関数を作成し、それらを pthread 経由で呼び出しました。

Main では、スレッドが呼び出されます ->

iThreadResult = pthread_create(&threadWeb, NULL, pThreadWebserver, &fTest);
pthread_join(threadWeb, NULL);

問題は、任意のスレッドからグローバルを書き込むときですint。値は、他のスレッドではなく、独自のスレッドで更新されません (iPlcWriteReal = 34;)。

3 つのスレッドがあり、すべてのスレッドには内部に wihile(1) ループがあります-> Read Data / Webserver / Archive Data

Mutex 関数 lock&unlock では成功しませんでした。

ポインターとmalloc私も運がありませんでした。スレッドを介してポインターも渡しました-アドレスは常に正しいものでしたが、値は更新されませんでした。

while(1) を使用しない場合、グローバル データへの通信は機能します - ループ - グローバル値を書き込む pthreads でループを使用する場合、問題はありますか? 多分同期/更新機能?

4

1 に答える 1