初始化进程并创建一些线程。我需要创建一个程序,将任务分配给线程,每当完成其中一个或一些任务时,可能会根据需要为其分配其他任务。
我有一个具有线程数的类(通过命令行配置),基本上任务将通过condition2
函数系列执行。我已经定义了exec()
的数组,但不确定我是否需要立即创建它们......或者我不知道。这是I类使用的标题:
pthreads
有class Pcp{
private:
int id;
int nThreads;
pthread_t thrs[];
Message* m;
public:
Pcp(int id, int nthreads);
~Pcp();
void assignTask(int thread, Task* t);
void verifyThreadsState(); //check if anyone has finished
有一个struct Message
数组要执行。这是Tasks
:
Tasks
如何为此构建struct Task{
bool assigned;
char taskToExec[MAX_TEXT_AREA];
unsigned short threadId;
};
和assignTask
函数?