How to let a loop run for a while before checking for break condition?

Discussion in 'Python' started by Sorin Schwimmer, Aug 28, 2006.

  1. I am thinking on something in the following form:

    <code>
    import time
    import thread

    delay=True

    def fn()
    global delay
    time.sleep(<your_amount_of_time_in_seconds>)
    delay=False

    thread.start_new_thread(fn,())

    while delay:
    <statement 1>
    <statement 2>
    ...

    while <other_condition>:
    <statement 1>
    <statement 2>
    ...
    </code>

    Or, if you need to use "break", the second loop may be
    something like:

    <code>
    while True:
    <statement 1>
    <statement 2>
    ...
    if <other_condition>: break
    <other_statements>
    ...
    </code>

    The two while loops have the same content, but the
    first is terminated after a pre-determined amount of
    time, while the second by another condition. Usually
    the content of the too loops, being the same, is a
    call to a function that does the actual work. In your
    case, as time seems to be critical, you don't want to
    spend it in function-call overheads, so you repeat
    (cut'n'paste) the relevant code.

    Of course, the price to be paid is in maintenance
    headache: you'll have to make all the changes in both
    loops, to keep consistency.

    I hope this helps.

    Sorin

    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    Sorin Schwimmer, Aug 28, 2006
    #1
    1. Advertising

  2. Sorin Schwimmer wrote:
    > I am thinking on something in the following form:
    >
    > <code>
    > import time
    > import thread
    >
    > delay=True
    >
    > def fn()
    > global delay
    > time.sleep(<your_amount_of_time_in_seconds>)
    > delay=False
    >
    > thread.start_new_thread(fn,())
    >
    > while delay:
    > <statement 1>
    > <statement 2>
    > ...
    >
    > while <other_condition>:
    > <statement 1>
    > <statement 2>
    > ...
    > </code>
    >
    > Or, if you need to use "break", the second loop may be
    > something like:
    >
    > <code>
    > while True:
    > <statement 1>
    > <statement 2>
    > ...
    > if <other_condition>: break
    > <other_statements>
    > ...
    > </code>
    >
    > The two while loops have the same content, but the
    > first is terminated after a pre-determined amount of
    > time, while the second by another condition. Usually
    > the content of the too loops, being the same, is a
    > call to a function that does the actual work. In your
    > case, as time seems to be critical, you don't want to
    > spend it in function-call overheads, so you repeat
    > (cut'n'paste) the relevant code.
    >
    > Of course, the price to be paid is in maintenance
    > headache: you'll have to make all the changes in both
    > loops, to keep consistency.
    >
    > I hope this helps.

    It doesn't.

    Claudio
    Claudio Grondi, Aug 28, 2006
    #2
    1. Advertising

  3. Sorin Schwimmer

    Steve Holden Guest

    Re: How to let a loop run for a while before checking for breakcondition?

    Claudio Grondi wrote:
    > Sorin Schwimmer wrote:

    [...]
    > It doesn't.
    >
    > Claudio


    Sometimes silence is preferable to a concrete response. It takes less
    time and occupies less bandwidth.

    regards
    Steve
    who should perhaps have followed his own advice
    --
    Steve Holden +44 150 684 7255 +1 800 494 3119
    Holden Web LLC/Ltd http://www.holdenweb.com
    Skype: holdenweb http://holdenweb.blogspot.com
    Recent Ramblings http://del.icio.us/steve.holden
    Steve Holden, Aug 29, 2006
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. -
    Replies:
    12
    Views:
    674
    Remon van Vliet
    Jun 15, 2005
  2. Claudio Grondi
    Replies:
    16
    Views:
    465
    Matimus
    Aug 30, 2006
  3. Sorin Schwimmer
    Replies:
    1
    Views:
    240
    Claudio Grondi
    Aug 28, 2006
  4. Bill W.
    Replies:
    13
    Views:
    276
    Phillip Gawlowski
    May 9, 2011
  5. Isaac Won
    Replies:
    9
    Views:
    348
    Ulrich Eckhardt
    Mar 4, 2013
Loading...

Share This Page