В чем преимущество «эхо» фрагментов при выводе файла?

Я пишу сценарий Ruby 1.9.2 для оценки времени выполнения различных внешних вызовов командной строки.

Я использовал ruby Process.system для выполнения вызовов командной строки и попытался зафиксировать время выполнения следующим образом:

start = Time.now
system("./script1", "argX")

puts "Duration: #{Time.now - start} seconds"

Теперь у меня проблема, заключающаяся в том, что длительность отражает не время выполнения внешнего процесса, а время выполнения " системный "вызов. но я хотел бы как-то обновить диалоговое окно прогресса, чтобы показать пользователю реальный прогресс вместо фиктивного сообщения «Подождите ...». Могу ли я каким-то образом получить доступ к диалоговому окну прогресса из MyTask.doInBackground , где вся работа сделана?

Насколько я понимаю, он работает как отдельный поток, поэтому я не могу «разговаривать» с основным действием оттуда, и именно поэтому я использую onPostExecute , чтобы вернуть ему результат. Но проблема в том, что onPostExecute вызывается только тогда, когда вся работа уже сделана, и я хотел бы обновить прогресс в диалоговом окне, когда что-то делаю.

Есть советы, как это сделать?

20
задан Laimoncijus 4 January 2011 в 08:48
поделиться