作者abccbaandy (敏)
看板Programming
标题[问题] perl程式执行流程问题
时间Wed Jan 20 22:30:11 2010
我的程式是长这样
==============================
print 开始
需要点时间的程式(呼叫副程式)
print 结束
==============================
但执行起来都会先过几秒
然後一起显示开始结束
正常不是应该先显示开始,过个几秒再显示结束吗?
我有试着在那个副程式里加入print,就正常了
另外转成exe档案变超大就算了,为什麽程式打开变超久...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 115.43.158.209
1F:推 paulpu:...电脑快是好事阿 58.114.73.73 01/21 06:18
什麽意思? 不懂....
2F:推 yauhh:请把那二行print改成分别印出二个时间值 61.231.70.23 01/21 10:25
3F:→ yauhh:看看有没有差距. 如果没有差距才怀疑问题. 61.231.70.23 01/21 10:25
我直接 print localtime(time) 应该也可以吧?
结果似乎是一样的= =
中间程式有加print
开始 1156102101104200
完成 3456102101104200
开始 3556102101104200
完成 4256102101104200
中间程式没加print
开始 1158102101104200
完成 3058102101104200
开始 3158102101104200
完成 4058102101104200
但实际在画面上看到的不是这样...
而是
等几秒(很明显是在做中间的程式)
然後一起显示开始结束
中间有加print时
显示开始
print *n (中间那段程式有回圈,所以会显示好几行)
然後才显示结束...
4F:→ yauhh:哎,这个好难解,我找找资料.. 61.231.70.23 01/21 11:14
5F:→ yauhh:一般的猜测是可能I/O跟程式不同步 61.231.70.23 01/21 11:14
6F:→ abccbaandy:对了,中间是呼叫副程式... 115.43.158.209 01/21 11:15
似乎加个
$| = 1; 就好了
虽然还没仔细测试,但方向应该没错
感谢^^
※ 编辑: abccbaandy 来自: 115.43.158.209 (01/21 11:57)