|
16 | 16 | },
|
17 | 17 | {
|
18 | 18 | "cell_type": "code",
|
19 |
| - "execution_count": 4, |
| 19 | + "execution_count": 9, |
20 | 20 | "metadata": {},
|
21 | 21 | "outputs": [],
|
22 | 22 | "source": [
|
|
25 | 25 | },
|
26 | 26 | {
|
27 | 27 | "cell_type": "code",
|
28 |
| - "execution_count": 5, |
| 28 | + "execution_count": 10, |
29 | 29 | "metadata": {},
|
30 | 30 | "outputs": [],
|
31 | 31 | "source": [
|
|
36 | 36 | },
|
37 | 37 | {
|
38 | 38 | "cell_type": "code",
|
39 |
| - "execution_count": 6, |
| 39 | + "execution_count": 11, |
40 | 40 | "metadata": {},
|
41 | 41 | "outputs": [
|
42 | 42 | {
|
|
45 | 45 | "[135, 132.12, 131.1]"
|
46 | 46 | ]
|
47 | 47 | },
|
48 |
| - "execution_count": 6, |
| 48 | + "execution_count": 11, |
49 | 49 | "metadata": {},
|
50 | 50 | "output_type": "execute_result"
|
51 | 51 | }
|
|
56 | 56 | },
|
57 | 57 | {
|
58 | 58 | "cell_type": "code",
|
59 |
| - "execution_count": 7, |
| 59 | + "execution_count": 12, |
60 | 60 | "metadata": {},
|
61 | 61 | "outputs": [
|
62 | 62 | {
|
|
65 | 65 | "131.1"
|
66 | 66 | ]
|
67 | 67 | },
|
68 |
| - "execution_count": 7, |
| 68 | + "execution_count": 12, |
69 | 69 | "metadata": {},
|
70 | 70 | "output_type": "execute_result"
|
71 | 71 | }
|
|
76 | 76 | },
|
77 | 77 | {
|
78 | 78 | "cell_type": "code",
|
79 |
| - "execution_count": 8, |
| 79 | + "execution_count": 13, |
80 | 80 | "metadata": {},
|
81 | 81 | "outputs": [
|
82 | 82 | {
|
|
85 | 85 | "[135, 132.12]"
|
86 | 86 | ]
|
87 | 87 | },
|
88 |
| - "execution_count": 8, |
| 88 | + "execution_count": 13, |
89 | 89 | "metadata": {},
|
90 | 90 | "output_type": "execute_result"
|
91 | 91 | }
|
|
96 | 96 | },
|
97 | 97 | {
|
98 | 98 | "cell_type": "code",
|
99 |
| - "execution_count": 9, |
| 99 | + "execution_count": 14, |
100 | 100 | "metadata": {},
|
101 | 101 | "outputs": [
|
102 | 102 | {
|
|
105 | 105 | "132.12"
|
106 | 106 | ]
|
107 | 107 | },
|
108 |
| - "execution_count": 9, |
| 108 | + "execution_count": 14, |
109 | 109 | "metadata": {},
|
110 | 110 | "output_type": "execute_result"
|
111 | 111 | }
|
|
116 | 116 | },
|
117 | 117 | {
|
118 | 118 | "cell_type": "code",
|
119 |
| - "execution_count": 10, |
| 119 | + "execution_count": 15, |
120 | 120 | "metadata": {},
|
121 | 121 | "outputs": [
|
122 | 122 | {
|
|
125 | 125 | "135"
|
126 | 126 | ]
|
127 | 127 | },
|
128 |
| - "execution_count": 10, |
| 128 | + "execution_count": 15, |
129 | 129 | "metadata": {},
|
130 | 130 | "output_type": "execute_result"
|
131 | 131 | }
|
|
136 | 136 | },
|
137 | 137 | {
|
138 | 138 | "cell_type": "code",
|
139 |
| - "execution_count": 11, |
| 139 | + "execution_count": 16, |
140 | 140 | "metadata": {},
|
141 | 141 | "outputs": [
|
142 | 142 | {
|
143 | 143 | "ename": "IndexError",
|
144 | 144 | "evalue": "pop from empty list",
|
145 | 145 | "output_type": "error",
|
146 | 146 | "traceback": [
|
147 |
| - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", |
148 |
| - "\u001b[1;31mIndexError\u001b[0m Traceback (most recent call last)", |
149 |
| - "\u001b[1;32m<ipython-input-11-09580442e205>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mwmt_stock_price_queue\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpop\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", |
150 |
| - "\u001b[1;31mIndexError\u001b[0m: pop from empty list" |
| 147 | + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
| 148 | + "\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)", |
| 149 | + "\u001b[0;32m/var/folders/nk/nzndlkn14wx_mdp2_t31tqmc0000gn/T/ipykernel_96232/1260761002.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mwmt_stock_price_queue\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", |
| 150 | + "\u001b[0;31mIndexError\u001b[0m: pop from empty list" |
151 | 151 | ]
|
152 | 152 | }
|
153 | 153 | ],
|
|
164 | 164 | },
|
165 | 165 | {
|
166 | 166 | "cell_type": "code",
|
167 |
| - "execution_count": 14, |
| 167 | + "execution_count": null, |
168 | 168 | "metadata": {},
|
169 | 169 | "outputs": [],
|
170 | 170 | "source": [
|
|
174 | 174 | },
|
175 | 175 | {
|
176 | 176 | "cell_type": "code",
|
177 |
| - "execution_count": 16, |
| 177 | + "execution_count": null, |
178 | 178 | "metadata": {},
|
179 | 179 | "outputs": [
|
180 | 180 | {
|
|
197 | 197 | },
|
198 | 198 | {
|
199 | 199 | "cell_type": "code",
|
200 |
| - "execution_count": 17, |
| 200 | + "execution_count": null, |
201 | 201 | "metadata": {},
|
202 | 202 | "outputs": [
|
203 | 203 | {
|
|
217 | 217 | },
|
218 | 218 | {
|
219 | 219 | "cell_type": "code",
|
220 |
| - "execution_count": 18, |
| 220 | + "execution_count": null, |
221 | 221 | "metadata": {},
|
222 | 222 | "outputs": [
|
223 | 223 | {
|
|
237 | 237 | },
|
238 | 238 | {
|
239 | 239 | "cell_type": "code",
|
240 |
| - "execution_count": 19, |
| 240 | + "execution_count": null, |
241 | 241 | "metadata": {},
|
242 | 242 | "outputs": [
|
243 | 243 | {
|
|
257 | 257 | },
|
258 | 258 | {
|
259 | 259 | "cell_type": "code",
|
260 |
| - "execution_count": 20, |
| 260 | + "execution_count": null, |
261 | 261 | "metadata": {},
|
262 | 262 | "outputs": [
|
263 | 263 | {
|
|
275 | 275 | "q.pop()"
|
276 | 276 | ]
|
277 | 277 | },
|
| 278 | + { |
| 279 | + "cell_type": "markdown", |
| 280 | + "metadata": {}, |
| 281 | + "source": [] |
| 282 | + }, |
278 | 283 | {
|
279 | 284 | "cell_type": "code",
|
280 |
| - "execution_count": 21, |
| 285 | + "execution_count": null, |
281 | 286 | "metadata": {
|
282 | 287 | "scrolled": true
|
283 | 288 | },
|
|
307 | 312 | },
|
308 | 313 | {
|
309 | 314 | "cell_type": "code",
|
310 |
| - "execution_count": 29, |
| 315 | + "execution_count": 17, |
311 | 316 | "metadata": {},
|
312 | 317 | "outputs": [],
|
313 | 318 | "source": [
|
314 | 319 | "from collections import deque\n",
|
| 320 | + "import time\n", |
| 321 | + "import threading\n", |
315 | 322 | "\n",
|
316 | 323 | "class Queue:\n",
|
317 | 324 | " \n",
|
|
328 | 335 | " return len(self.buffer)==0\n",
|
329 | 336 | " \n",
|
330 | 337 | " def size(self):\n",
|
331 |
| - " return len(self.buffer)" |
| 338 | + " return len(self.buffer)\n", |
| 339 | + "\n", |
| 340 | + " def place_order(self, orders):\n", |
| 341 | + " for order in orders:\n", |
| 342 | + " self.enqueue(order)\n", |
| 343 | + " time.sleep(0.5)\n", |
| 344 | + "\n", |
| 345 | + " def serve_order(self):\n", |
| 346 | + " while not self.is_empty:\n", |
| 347 | + " time.sleep(2)\n", |
| 348 | + " print(self.dequeue())\n", |
| 349 | + "\n", |
| 350 | + " def food_ordering_system(self, orders):\n", |
| 351 | + " q = Queue()\n", |
| 352 | + " t1 = threading.Thread(target=q.place_order, args=(orders,))\n", |
| 353 | + " t2 = threading.Thread(target=q.serve_order)\n", |
| 354 | + " t1.start()\n", |
| 355 | + " time.sleep(1)\n", |
| 356 | + " t2.start()\n", |
| 357 | + " t1.join()\n", |
| 358 | + " t2.join()" |
| 359 | + ] |
| 360 | + }, |
| 361 | + { |
| 362 | + "cell_type": "code", |
| 363 | + "execution_count": 18, |
| 364 | + "metadata": {}, |
| 365 | + "outputs": [], |
| 366 | + "source": [ |
| 367 | + "orders = ['pizza', 'samosa', 'pasta', 'biryani', 'burger']\n", |
| 368 | + "q = Queue()\n", |
| 369 | + "q.food_ordering_system(orders)" |
332 | 370 | ]
|
333 | 371 | },
|
334 | 372 | {
|
335 | 373 | "cell_type": "code",
|
336 |
| - "execution_count": 33, |
| 374 | + "execution_count": null, |
337 | 375 | "metadata": {},
|
338 | 376 | "outputs": [],
|
339 | 377 | "source": [
|
|
358 | 396 | },
|
359 | 397 | {
|
360 | 398 | "cell_type": "code",
|
361 |
| - "execution_count": 34, |
| 399 | + "execution_count": null, |
362 | 400 | "metadata": {},
|
363 | 401 | "outputs": [
|
364 | 402 | {
|
|
378 | 416 | },
|
379 | 417 | {
|
380 | 418 | "cell_type": "code",
|
381 |
| - "execution_count": 32, |
| 419 | + "execution_count": null, |
382 | 420 | "metadata": {},
|
383 | 421 | "outputs": [
|
384 | 422 | {
|
|
398 | 436 | },
|
399 | 437 | {
|
400 | 438 | "cell_type": "code",
|
401 |
| - "execution_count": 35, |
| 439 | + "execution_count": null, |
402 | 440 | "metadata": {},
|
403 | 441 | "outputs": [
|
404 | 442 | {
|
|
433 | 471 | "name": "python",
|
434 | 472 | "nbconvert_exporter": "python",
|
435 | 473 | "pygments_lexer": "ipython3",
|
436 |
| - "version": "3.7.3" |
| 474 | + "version": "3.9.5" |
437 | 475 | }
|
438 | 476 | },
|
439 | 477 | "nbformat": 4,
|
|
0 commit comments