@@ -251,15 +251,15 @@ <h2 id="synchronous-asynchronous-execution">Synchronous & Asynchronous Execu
251
251
Task 8 done
252
252
Task 9 done
253
253
Asynchronous:
254
- Task 8 done
255
- Task 5 done
256
- Task 6 done
257
- Task 3 done
258
- Task 9 done
254
+ Task 1 done
259
255
Task 2 done
260
256
Task 7 done
257
+ Task 6 done
258
+ Task 5 done
261
259
Task 0 done
262
- Task 1 done
260
+ Task 3 done
261
+ Task 8 done
262
+ Task 9 done
263
263
Task 4 done
264
264
</ pre > </ code > </ p >
265
265
< p > In the synchronous case all the tasks are run sequentially,
@@ -946,11 +946,11 @@ <h2 id="groups-and-pools">Groups and Pools</h2>
946
946
< p > </ code >
947
947
< pre > < code class ="python ">
948
948
Size of group 3
949
- Hello from Greenlet 22721552
949
+ Hello from Greenlet 10769424
950
950
Size of group 3
951
- Hello from Greenlet 22722672
951
+ Hello from Greenlet 10770544
952
952
Size of group 3
953
- Hello from Greenlet 22724432
953
+ Hello from Greenlet 10772304
954
954
Ordered
955
955
('task', 0)
956
956
('task', 1)
@@ -1146,21 +1146,31 @@ <h2 id="subprocess">Subprocess</h2>
1146
1146
< code > subprocess</ code > module -- has been added. It supports cooperative waiting on
1147
1147
subprocesses.</ p >
1148
1148
< pre >
1149
- < code class ="python "> import gevent
1149
+ < code class ="python ">
1150
+ import gevent
1150
1151
from gevent.subprocess import Popen, PIPE
1151
1152
1152
- # Uses a green pipe which is cooperative
1153
- sub = Popen(['uname'], stdout=PIPE)
1154
- read_output = gevent.spawn(sub.stdout.read)
1155
-
1156
- output = read_output.join()
1157
- print(output.value)
1158
- </ code >
1153
+ def cron():
1154
+ while True:
1155
+ print "cron"
1156
+ gevent.sleep(0.2)
1157
+
1158
+ g = gevent.spawn(cron)
1159
+ sub = Popen(['sleep 1; uname'], stdout=PIPE, shell=True)
1160
+ out, err = sub.communicate()
1161
+ g.kill()
1162
+ print out.rstrip()
1159
1163
</ pre >
1160
1164
1161
1165
< pre >
1162
- < code class ="python "> Linux
1163
- </ code >
1166
+ < code class ="python ">
1167
+ cron
1168
+ cron
1169
+ cron
1170
+ cron
1171
+ cron
1172
+ Linux
1173
+ < code >
1164
1174
</ pre >
1165
1175
1166
1176
< p > Many people also want to use < code > gevent</ code > and < code > multiprocessing</ code > together. One of
0 commit comments