Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #75105 > unrolled thread
| Started by | Terry Reedy <tjreedy@udel.edu> |
|---|---|
| First post | 2014-07-23 20:24 -0400 |
| Last post | 2014-07-23 20:24 -0400 |
| Articles | 1 — 1 participant |
Back to article view | Back to comp.lang.python
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: Question about asyncio doc example Terry Reedy <tjreedy@udel.edu> - 2014-07-23 20:24 -0400
| From | Terry Reedy <tjreedy@udel.edu> |
|---|---|
| Date | 2014-07-23 20:24 -0400 |
| Subject | Re: Question about asyncio doc example |
| Message-ID | <mailman.12254.1406161483.18130.python-list@python.org> |
On 7/23/2014 6:43 AM, Saimadhav Heblikar wrote:
> Hi,
>
> The example in question is
> https://docs.python.org/3/library/asyncio-task.html#example-hello-world-coroutine.
> I'd like to learn the purpose of the statement
> "yield from asyncio.sleep(2)" in that example.
>
> In particular, I'd like to know if asyncio.sleep() is used as a
> substitute for slow/time consuming operation, i.e. in real code,
> whether there will be a real time consuming statement in place of
> asyncio.sleep().
The context is
while True:
print('Hello')
yield from asyncio.sleep(3)
sleep is both itself, to shown to schedule something at intervals in a
non-blocking fashion, as well as a placefiller. The blocking equivalent
would use 'time' instead of 'yield from asyncio'. The following shows
the non-blocking feature a bit better.
import asyncio
@asyncio.coroutine
def hello():
while True:
print('Hello')
yield from asyncio.sleep(3)
@asyncio.coroutine
def goodbye():
while True:
print('Goodbye')
yield from asyncio.sleep(5.01)
@asyncio.coroutine
def world():
while True:
print('World')
yield from asyncio.sleep(2.02)
loop = asyncio.get_event_loop()
loop.run_until_complete(asyncio.wait([hello(), goodbye(), world()]))
Getting the same time behavior in a while...sleep loop requires
reproducing some of the calculation and queue manipulation included in
the event loop.
--
Terry Jan Reedy
Back to top | Article view | comp.lang.python
csiph-web