我是线程的新手(以及 C/C++),我正在尝试使用多个线程来访问共享变量。
总的来说,我创建了一个变量 char inputarray[100];
线程 1:该线程将以 2 字节突发从标准输入读取数据,并将它们附加到输入数组。(通过输入文件输入)
线程 2:该线程将一次读取 1 个字节的数据,执行计算,并将其数据放入输出数组。
线程 3:该线程将以 2 字节突发的形式从输出数组中输出数据。(标准输出)
我尝试了输入部分并通过传递一个结构使其工作,但想在不使用结构的情况下做到这一点,但它一直给我带来问题。
如果我能得到输入,我相信我将能够使用类似的策略来完成输出。任何帮助将不胜感激。
下面是输入线程的粗略模板。
#include <stdio.h>
#include <pthread.h>
using namespace std;
void* input(void* arg) {
char reading[3];
fread(reading,1,2,stdin);
//append to char inputarray[]..???
}
int main() {
char inputarray[100];
pthread_t t1;
pthread_create(&t1, NULL, &input, &inputarray);
void *result;
pthread_join(t1,&result);
return 0;
}