作者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)