c语言同时执行的问题

来源:百度知道 编辑:UC知道 时间:2024/07/03 12:31:54
模拟一个进程状态变化的程序,用C语言写的,有几个选择项,创建,执行,阻塞,就绪,创建完进程后执行,想在执行的过程中对执行的进程进行阻塞,也就是说,进程一边在执行我还能一边干别的事,就是要达到这样的目的,可是事与愿违,进程一处于执行状态就不能做其它事了,那位 高手帮帮忙,帮我解决这个问题啊
大侠,你说的我不太懂诶,因为还有一项是要求显示所有进程的状态,如果按我写的必须等执行完进程才能做其它事情的话,那我显示的状态就没有在运行中的了,而且也不能对运行中的进程进行阻塞!

模拟?进程? 不是真的进程是吧?

简单点的:把进程的工作拆开,在主进程反复执行,用一个标志位表示它是否阻塞。

伪码:
void proc(bool halt)
{
if(!halt)printf("*"); // 进程输出 *
}

int main()
{
bool halt = false;
while(1)
{
printf("#"); // 主进程输出 #
proc(halt);

if(kbhit()){getch() .... //接受用户输入对进程进行操作}
}
return 0;
}

要不就用线程来模拟。。