ÆÄÀÌ½ã ¸ÖÆ¼ÇÁ·Î¼¼½Ì¿¡¼­ µ¥µå¶ôÀÌ °É¸³´Ï´Ù. [5]

¡ã ¸Ç¹Ø ¡å
Nutssss
¾Æ¹ÙŸ/ÂÊÁö/±Û°Ë»ö

2018-06-06 18:27:33
2 0 5 293

¨Û Ãßõ  ¨á ´ÜÃàURL
¡è º¹»ç ÈÄ ºÙ¿©³ÖÀ¸¼¼¿ä.
 ±â±â¸¦ °¨ÁöÇÏ¿© ÃÖÀû URL ·Î º¸³»ÁÝ´Ï´Ù.
Nutssss
https://humoruniv.com/program6045 URL º¹»ç

¾È³çÇϼ¼¿ä, ÄÚµå Ãʺ¸ÀÚÀÔ´Ï´Ù...
±ÛÀ» ¸î ¹ø ½è´Ù°¡ Áö¿ü´Âµ¥ ÀÚ²Ù ±úÁ®¼­...

Áú¹®Àº Á¦¸ñ°ú °°½À´Ï´Ù.

Á¦°¡ Áö±Ý 10°³ ·£´ý°ªÀ» °¡Áø ¿ø¼Ò°¡ µé¾îÀÖ´Â °øÀ¯µÈ ¸®½ºÆ®¿¡¼­ 10°³ ÇÁ·Î¼¼½º°¡ Á¤·ÄÇÑ µÚ °¢ ÇÁ·Î¼¼½º¸¶´Ù °É¸®´Â ½Ã°£À» ÃøÁ¤Çؼ­ Ãâ·ÂÇÏ´Â Äڵ带 Â¥°í ÀÖ½À´Ï´Ù.

±×·±µ¥ ½ÇÇàÇØº¸¸é 1°³´Â µ¹¾Æ°¡´Âµ¥ ³ª¸ÓÁö´Â µ¹¾Æ°¡Áö ¾Ê½À´Ï´Ù...

µ¥µå¶ôÀÌ °É¸° °Í °°½À´Ï´Ù ¤§¤§;

Ȥ½Ã ÇØ°á ¹æ¹ýÀÌ ÀÖÀ»±î¿ä???

´äº¯ÇØÁֽøé Á¤¸» °¨»çÇÕ´Ï´Ù!!!


================================================================

# coding: utf-8

###INITIAL SETTING
import multiprocessing
import random
import time
import timeit
import sys


###SUBPROCESS
def control£¨i, child_conn, sortlock, tcountlock, storelock£©:
while True:
time.sleep£¨random.randrange£¨0,10£©£©
sortlock.acquire£¨£© ##-> ¿©±â¼­ Àá°¬½À´Ï´Ù.
#time.sleep£¨random.randrange£¨0,10£©£©
#tcountlock.acquire£¨£©
initlist = child_conn.recv£¨£©
list_length = len£¨initlist£©

start = timeit.default_timer£¨£©

for count in range£¨list_length - 1£©:
for count2 in range£¨list_length - count - 1£©:
if initlist[count2] > initlist[count2 + 1]:
initlist[count2], initlist[count2 + 1] = initlist[count2 + 1], initlist[count2]

end = timeit.default_timer£¨£©

run = end - start
#child_conn.send£¨initlist£©

print£¨'\n[{0}] --> '.format£¨i£©, end=" "£©
for z in initlist:
print£¨z, end=" "£©
print£¨'\t', end = ""£©
print£¨float£¨"{:.8F}".format£¨run£©£©£©
print£¨'#### Process #{0} ended'.format£¨i£©£©

sortlock.release£¨£© ##-> ¿©±â¼­ Àá±ÝÀ» Ç®¾ú½À´Ï´Ù.


###THE MAIN FUNCTION
if __name__ == '__main__':
initlist = []
jobs = []
parent_conn, child_conn = multiprocessing.Pipe£¨£©

###INITIALIZE
for x in range£¨0, 10£©:
initlist.append£¨random.randrange£¨0, 100£©£©

print£¨'#### Sorting with List --> ', end= " "£©
for y in initlist:
print£¨'{0}'.format£¨y£©, end=" "£©
print£¨£©

parent_conn.send£¨initlist£©

###LOCK
sortlock = multiprocessing.Lock£¨£©
tcountlock = multiprocessing.Lock£¨£©
storelock = multiprocessing.Lock£¨£©

###MULTIPROCESS START
time.sleep£¨1£©

for x in range£¨0, 10£©:
print£¨'#### Process #{0} started ...'.format£¨x£©£©
process = multiprocessing.Process£¨target=control, args=£¨x, child_conn, sortlock, tcountlock, storelock£©£©
jobs.append£¨process£©
process.start£¨£©
for p in jobs:
p.join£¨£©

================================================================

Áú¹®¿¡ ´äº¯Çϱâ

¨Û °Ô ½Ã ¹°    Ãß Ãµ ÇÏ ±â
  ·Î±×ÀÎ ¾øÀÌ Ãßõ°¡´ÉÇÕ´Ï´Ù.
ÃßõµÇ¾ú½À´Ï´Ù.
¨Û Ãßõ   ¨ä ¹Ý´ë   ¨Þ ´ä±Û   ¢Ç ¸ñ·Ï
¡ç µÚ·Î   ¡è ¸ÇÀ§   ¡é ¸Ç¹Ø   ¨· ½Å°í   ¢½ ½ºÅ©·¦
¡ç µÚ·Î   ¡è ¸ÇÀ§   ¡é ¸Ç¹Ø   ¨· ½Å°í   ¢½ ½ºÅ©·¦
´ä±Û ÀÛ¼ºÇϱâ (·Î±×ÀÎ ÇÊ¿ä)
·Î±×ÀÎ   ¸ÞÀÎ   »çÀÌÆ®¸Ê   PCÈ­¸é