void multithreaded_segment( void * args) { string sentence; vector<string> result; Dispatcher * dispatcher = (Dispatcher *)args; void * model = dispatcher->model(); while (true) { int ret = dispatcher->next(sentence); if (ret < 0) break; result.clear(); segmentor_segment(model, sentence, result); dispatcher->output(result); } return; }