作者scorpion2272 (我是盆栽)
看板MATLAB
标题[问题] 超过执行时间跳出
时间Thu Nov 1 03:55:44 2012
各位好,
最近须帮指导教授写一个matlab线上考试系统,
老师希望能够即时批改,告诉考生这题答对与否。
但目前卡在如下功能:
因为怕学生丢过来的code有无穷回圈,
所以想要写个计时器,
若运算超过20秒则视为他跑进无穷回圈,
就结束他的运算。
刚刚试了一下用timer,本有这个想法:
假设f为学生写的函数,
设两个timer,一个跑f,一个在20秒後会把跑f的timer给stop掉,
结果那个跑f的timer一进f的无穷回圈後matlab就什麽指令都听不进去了。
目前还没想到方法,也不确定matlab的这种线上批改模式是否真的可行...
烦请各位提供意见!谢谢!
--
专家总是叫我们不要吃汉堡这种垃圾食物,
要多吃营养的食物,
例如白面包、芝麻、生菜、蕃茄、酸黄瓜、起司和牛肉。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.43.203.105
1F:推 tyc5116:认真的助教XD 11/01 14:15
2F:推 guteres:你讲的应该是类似ACM系统 11/03 08:04
3F:→ scorpion2272:是的 是想要开发类似的功能 但想到防止无穷回圈这点 11/03 12:13
4F:→ scorpion2272:就不知如何下手.. 11/03 12:13
5F:推 jigfopsda:这要multiprocess或multithread吧 11/05 22:02
6F:→ jigfopsda:我不确定matlab支不支援.. 11/05 22:03
7F:→ geniusturtle:我自己有一个用C程式去叫matlab起来的范例 11/07 22:32
8F:→ geniusturtle:不过TLE时,会把所有的matlab.exe都给kill掉 11/07 22:32