Mercurial > hg > Members > innparusu > Gears
comparison src/parallel_execution/main.c @ 125:77e60b6cdace
Work dependency example
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 27 Sep 2016 17:22:00 +0900 |
parents | acf0453b1c7a |
children | 337fdbffa693 |
comparison
equal
deleted
inserted
replaced
124:acf0453b1c7a | 125:77e60b6cdace |
---|---|
326 __code createWorker(struct Context* context, struct LoopCounter* loopCounter, struct Worker* worker) { | 326 __code createWorker(struct Context* context, struct LoopCounter* loopCounter, struct Worker* worker) { |
327 int i = loopCounter->i; | 327 int i = loopCounter->i; |
328 | 328 |
329 if (i < worker->num) { | 329 if (i < worker->num) { |
330 struct Context* worker_context = &worker->contexts[i]; | 330 struct Context* worker_context = &worker->contexts[i]; |
331 worker_context->next = InitWorker; | 331 worker_context->next = GetTask; |
332 worker_context->data[Tree] = context->data[Tree]; | 332 worker_context->data[Tree] = context->data[Tree]; |
333 worker_context->data[ActiveQueue] = context->data[ActiveQueue]; | 333 worker_context->data[ActiveQueue] = context->data[ActiveQueue]; |
334 worker_context->data[WaitQueue] = context->data[WaitQueue]; | 334 worker_context->data[WaitQueue] = context->data[WaitQueue]; |
335 worker_context->data[Queue] = context->data[ActiveQueue]; | 335 worker_context->data[Queue] = context->data[ActiveQueue]; |
336 pthread_create(&worker_context->thread, NULL, (void*)&start_code, worker_context); | 336 pthread_create(&worker_context->thread, NULL, (void*)&start_code, worker_context); |