C での pthreads とマルチスレッド プログラミングの感触をつかもうとしています。このサイトのおかげで、コンパイル時にエラーが発生しないようにライブラリをリンクすることができました。
1000000 x を出力するスレッドと 1000000 o を出力するスレッドの 2 つのスレッドを実行しようとしています。
ただし、プログラムの実行時に問題があります。コマンド ラインが 1 ミリ秒間ポップアップしてから終了します。何も起こらないようです。コンパイルエラーや、修正できるものさえありません。スレッドの作成とスレッドの結合ステートメントをコメント アウトすると、コマンド ラインがポップアップし、システム ("PAUSE") のためにキーがヒットされるのを待ちます。
ここに私のコードがあります:
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <time.h>
#include <pthread.h>
void* printChar(void *c);
int main(int argc, char *argv[])
{
pthread_t thread1;
pthread_t thread2;
pthread_create(&thread1,NULL,printChar,"x");
pthread_create(&thread2,NULL,printChar,"o");
pthread_join(thread1,NULL);
system("PAUSE");
return 0;
}
void* printChar(void *c)
{
char *str;
str = (char*)c;
int i;
for(i = 0; i < 1000000; i++)
{
printf("%c",str);
}
}
Bloodshed Dev-C++ IDE から DOS C アプリケーションを実行しています。pthread .dll および .a ファイルの私のバージョンは、libpthreadGC2.a および pthreadGC2.dll です。
他の仕様が必要な場合は、lemmie know
前もって感謝します!