void IntVectorConsumer::run() { IntVector * in = consume(input); msg = "consuming "; for (int k=0; k<in->vector_size(); k++) msg += to_string(in->get_item(k))+" "; log(msg); timer.randSleep(200); release(input); }
void SortSplit::run() { IntVector * in = consume(input); IntVector * out1 = produce(output1); IntVector * out2 = produce(output2); out1->clear_items(); out2->clear_items(); const int m = in->vector_size()/2; for (int p = 0; p < m; p++) { out1->put_item(in->get_item(p+0)); out2->put_item(in->get_item(p+m)); } release(output1); release(output2); release(input); }