0
我必須設計一個涉及消費者 - 生產者問題的多線程應用程序。到目前爲止,在嘗試實現我的解決方案之前,我一直試圖讓Pthreads正常工作。但是,我的程序甚至不會加載我的pthread上的函數。我不確定我在這裏做錯了什麼。程序將不會執行pthread
#include <pthread.h>
#include <stdlib.h>
#include <stdio.h>
void* Producer(void *arg)
{
printf("\nEntered Producer\n");
int i, item, index;
index = (int)arg;
FILE *f = fopen(bookorders, "r");
char c = fgetc(f);
int z =0;
while (c!=EOF) {
char * buffer = (char *)malloc(1000);
while (c!='\n') {
*(buffer+z) = c;
z++;
c = fgetc(f);
}
char delim[2] = "|";
printf("%s\n", buffer);
}
}
int main(int argc, const char * argv[])
{
pthread_t Produc;
pthread_create(&Produc, NULL, Producer, NULL);
return 0;
}
我想我最大的問題是什麼是創建一個並行線程,然後得到它的運行功能,在這種情況下是我的製片功能
太棒了!謝謝你完美的工作! – AbhishekSaha
另外,請記住,如果您有多個線程要創建,請先爲所有線程編寫pthread_create,然後在所有線程上調用pthread_join。 – Sanketh