由于助教少给了很多东西,导致长期无法完成。 终于由英明神武的侯锐同学发现,这两段程序,可以每隔一段时间自动调用schedule,这样我们就可以收回控制权啦。
#include <unistd.h>
#include <signal.h>
#include <sys/time.h>
#include <signal.h>
#include <sys/time.h>
void init_sigaciton(void){
struct sigaction act;
act.sa_handler = schedule;
act.sa_flags = 0;
sigemptyset(&act.sa_mask);
sigaction(SIGALRM, &act, NULL);
}
struct sigaction act;
act.sa_handler = schedule;
act.sa_flags = 0;
sigemptyset(&act.sa_mask);
sigaction(SIGALRM, &act, NULL);
}
void init_time(){
struct itimerval value;
value.it_value.tv_sec = 0;
value.it_value.tv_usec = 10;
value.it_interval = value.it_value;
setitimer(ITIMER_REAL, &value, NULL);
}
struct itimerval value;
value.it_value.tv_sec = 0;
value.it_value.tv_usec = 10;
value.it_interval = value.it_value;
setitimer(ITIMER_REAL, &value, NULL);
}
但是仍然很难写,Linux下面编程实在太不习惯了。。 此外还碰到很多莫名的问题, 主要是多线程的程序是在难以调试,不知道那句话就又跳到别的程序中间去了。
不过在祁航大麦和我的通力合作下,终于写出了一个“可以交” (可以交 means 肯定有错,但大体正确)的版本了。。。
现在程序发给大麦交掉 , 我不管了。。。
汗…要在Linux下写啊?