スレッドって要は内部でこうやってるだけなんでしょ

int g_thread_id = 0;

int main(void)
{
  while(1){
    if(g_thread_id == 0){ func_thread_0(); }
    else if(g_thread_id == 1){ func_thread_1(); }
    else if(g_thread_id == 2){ func_thread_2(); }

    g_thread_id++;
    if(3 <= g_thread_id){ g_thread_id = 0; }
    sleep(1);
  }
}