Search.setIndex({"docnames": ["glossary", "index", "library/multiprocessing"], "filenames": ["glossary.rst", "index.rst", "library/multiprocessing.rst"], "titles": ["Glossary", "Welcome to multiprocessing\u2019s documentation!", "multiprocessing \u2014 Process-based parallelism"], "terms": {"bytecod": 0, "python": [0, 2], "sourc": [0, 2], "code": [0, 2], "i": [0, 2], "compil": 0, "intern": [0, 2], "represent": [0, 2], "program": [0, 1], "interpret": [0, 2], "The": [0, 1], "also": [0, 2], "cach": [0, 2], "pyc": 0, "pyo": 0, "file": [0, 2], "so": [0, 2], "execut": [0, 2], "same": [0, 2], "faster": [0, 2], "second": [0, 2], "time": [0, 2], "recompil": 0, "from": [0, 2], "can": [0, 2], "avoid": [0, 2], "thi": [0, 2], "intermedi": 0, "languag": 0, "said": [0, 2], "run": [0, 1, 2], "virtual": 0, "machin": [0, 2], "correspond": [0, 2], "each": [0, 2], "cpython": 0, "canon": 0, "implement": [0, 2], "term": 0, "us": [0, 1], "context": [0, 2], "when": [0, 2], "necessari": [0, 2], "distinguish": 0, "other": [0, 2], "jython": 0, "ironpython": 0, "gil": 0, "see": [0, 2], "global": [0, 2], "lock": [0, 1, 2], "thread": [0, 2], "assur": 0, "onli": [0, 2], "one": [0, 2], "simplifi": [0, 2], "two": [0, 2], "process": [0, 1], "access": [0, 2], "memori": [0, 2], "entir": 0, "make": [0, 2], "easier": 0, "multi": [0, 2], "expens": 0, "much": [0, 2], "parallel": [0, 1], "afford": 0, "processor": [0, 2], "effort": 0, "have": [0, 2], "been": [0, 2], "made": [0, 2], "past": 0, "creat": [0, 2], "free": [0, 2], "which": [0, 2], "share": [0, 1], "data": [0, 2], "finer": 0, "granular": 0, "far": [0, 2], "none": [0, 2], "success": [0, 1, 2], "becaus": [0, 2], "perform": [0, 2], "suffer": 0, "common": 0, "singl": [0, 2], "case": [0, 2], "A": [0, 2], "comput": [0, 2], "defin": [0, 2], "softwar": 0, "": [0, 2], "emit": 0, "content": 1, "base": 1, "introduct": 1, "class": 1, "exchang": 1, "object": 1, "between": 1, "synchron": 1, "state": 1, "pool": 1, "worker": 1, "refer": 1, "except": 1, "start": [1, 2], "join": [1, 2], "name": [1, 2], "is_al": [1, 2], "daemon": [1, 2], "pid": [1, 2], "exitcod": [1, 2], "authkei": [1, 2], "sentinel": [1, 2], "termin": [1, 2], "buffertooshort": [1, 2], "pipe": 1, "queue": 1, "qsize": [1, 2], "empti": [1, 2], "full": [1, 2], "put": [1, 2], "put_nowait": [1, 2], "get": [1, 2], "get_nowait": [1, 2], "get_no_wait": [1, 2], "close": [1, 2], "join_thread": [1, 2], "cancel_join_thread": [1, 2], "simplequeu": [1, 2], "joinablequeu": [1, 2], "task_don": [1, 2], "miscellan": 1, "active_children": [1, 2], "cpu_count": [1, 2], "current_process": [1, 2], "freeze_support": [1, 2], "set_execut": [1, 2], "connect": 1, "send": [1, 2], "recv": [1, 2], "fileno": [1, 2], "poll": [1, 2], "send_byt": [1, 2], "recv_byt": [1, 2], "recv_bytes_into": [1, 2], "primit": 1, "boundedsemaphor": [1, 2], "condit": [1, 2], "event": [1, 2], "rlock": [1, 2], "semaphor": [1, 2], "ctype": 1, "valu": [1, 2], "arrai": [1, 2], "sharedctyp": 1, "modul": 1, "rawarrai": [1, 2], "rawvalu": [1, 2], "copi": [1, 2], "manag": 1, "basemanag": [1, 2], "get_serv": [1, 2], "shutdown": [1, 2], "regist": [1, 2], "address": 1, "syncmanag": [1, 2], "namespac": 1, "dict": [1, 2], "list": [1, 2], "custom": 1, "remot": 1, "proxi": 1, "baseproxi": [1, 2], "_callmethod": [1, 2], "_getvalu": [1, 2], "__repr__": [1, 2], "__str__": [1, 2], "cleanup": 1, "appli": [1, 2], "apply_async": [1, 2], "map": [1, 2], "map_async": [1, 2], "imap": [1, 2], "imap_unord": [1, 2], "starmap": [1, 2], "starmap_async": [1, 2], "asyncresult": [1, 2], "wait": [1, 2], "readi": [1, 2], "listen": 1, "client": 1, "deliver_challeng": [1, 2], "answerchalleng": [1, 2], "accept": [1, 2], "last_accept": [1, 2], "authenticationerror": [1, 2], "format": 1, "authent": 1, "kei": 1, "log": 1, "get_logg": [1, 2], "log_to_stderr": [1, 2], "dummi": 1, "guidelin": 1, "all": 1, "platform": 1, "window": 1, "exampl": 1, "glossari": 1, "index": 1, "search": 1, "page": 1, "packag": 2, "support": 2, "spawn": 2, "an": 2, "api": 2, "similar": 2, "offer": 2, "both": 2, "local": 2, "concurr": 2, "effect": 2, "side": 2, "step": 2, "subprocess": 2, "instead": 2, "due": 2, "allow": 2, "programm": 2, "fulli": 2, "leverag": 2, "multipl": 2, "given": 2, "It": 2, "unix": 2, "some": 2, "function": 2, "requir": 2, "host": 2, "oper": 2, "system": 2, "without": 2, "disabl": 2, "attempt": 2, "import": 2, "result": 2, "importerror": 2, "issu": 2, "3770": 2, "addit": 2, "inform": 2, "within": 2, "__main__": 2, "children": 2, "cover": 2, "howev": 2, "worth": 2, "point": 2, "out": 2, "here": 2, "mean": 2, "work": 2, "interact": 2, "For": 2, "p": 2, "5": 2, "def": 2, "f": 2, "x": 2, "return": 2, "1": 2, "2": 2, "3": 2, "poolwork": 2, "traceback": 2, "most": 2, "recent": 2, "call": 2, "last": 2, "attributeerror": 2, "ha": 2, "attribut": 2, "If": 2, "you": 2, "try": 2, "actual": 2, "output": 2, "three": 2, "interleav": 2, "semi": 2, "random": 2, "fashion": 2, "mai": 2, "stop": 2, "master": 2, "somehow": 2, "In": 2, "ar": 2, "its": 2, "method": 2, "follow": 2, "trivial": 2, "print": 2, "hello": 2, "__name__": 2, "target": 2, "arg": 2, "bob": 2, "To": 2, "show": 2, "individu": 2, "id": 2, "involv": 2, "expand": 2, "o": 2, "info": 2, "titl": 2, "parent": 2, "getppid": 2, "getpid": 2, "main": 2, "line": 2, "explan": 2, "why": 2, "part": 2, "type": 2, "commun": 2, "channel": 2, "clone": 2, "q": 2, "42": 2, "safe": 2, "note": 2, "thei": 2, "must": 2, "never": 2, "instanti": 2, "lead": 2, "deadlock": 2, "pair": 2, "default": 2, "duplex": 2, "wai": 2, "conn": 2, "parent_conn": 2, "child_conn": 2, "repres": 2, "end": 2, "among": 2, "becom": 2, "corrupt": 2, "read": 2, "write": 2, "Of": 2, "cours": 2, "risk": 2, "differ": 2, "contain": 2, "equival": 2, "instanc": 2, "ensur": 2, "standard": 2, "l": 2, "acquir": 2, "world": 2, "releas": 2, "num": 2, "rang": 2, "10": 2, "liabl": 2, "mix": 2, "up": 2, "As": 2, "mention": 2, "abov": 2, "do": 2, "usual": 2, "best": 2, "possibl": 2, "particularli": 2, "true": 2, "realli": 2, "need": 2, "provid": 2, "coupl": 2, "store": 2, "n": 2, "1415927": 2, "len": 2, "d": 2, "0": 2, "arr": 2, "4": 2, "6": 2, "7": 2, "8": 2, "9": 2, "argument": 2, "typecod": 2, "kind": 2, "indic": 2, "doubl": 2, "precis": 2, "float": 2, "sign": 2, "integ": 2, "These": 2, "more": 2, "flexibl": 2, "creation": 2, "arbitrari": 2, "alloc": 2, "server": 2, "control": 2, "hold": 2, "manipul": 2, "them": 2, "25": 2, "revers": 2, "than": 2, "over": 2, "network": 2, "slower": 2, "task": 2, "offload": 2, "few": 2, "evalu": 2, "asynchron": 2, "timeout": 2, "100": 2, "unless": 2, "your": 2, "veri": 2, "slow": 2, "81": 2, "mostli": 2, "replic": 2, "group": 2, "kwarg": 2, "activ": 2, "separ": 2, "constructor": 2, "should": 2, "alwai": 2, "keyword": 2, "exist": 2, "sole": 2, "compat": 2, "callabl": 2, "invok": 2, "noth": 2, "By": 2, "uniqu": 2, "construct": 2, "form": 2, "k": 2, "where": 2, "sequenc": 2, "whose": 2, "length": 2, "determin": 2, "gener": 2, "tupl": 2, "invoc": 2, "dictionari": 2, "set": 2, "flag": 2, "fals": 2, "inherit": 2, "pass": 2, "subclass": 2, "overrid": 2, "sure": 2, "__init__": 2, "befor": 2, "anyth": 2, "els": 2, "chang": 2, "version": 2, "ad": 2, "ani": 2, "sequenti": 2, "taken": 2, "respect": 2, "onc": 2, "per": 2, "arrang": 2, "option": 2, "block": 2, "until": 2, "posit": 2, "number": 2, "mani": 2, "cannot": 2, "itself": 2, "would": 2, "caus": 2, "error": 2, "string": 2, "identif": 2, "purpos": 2, "semant": 2, "initi": 2, "whether": 2, "aliv": 2, "roughli": 2, "moment": 2, "child": 2, "boolean": 2, "exit": 2, "otherwis": 2, "leav": 2, "orphan": 2, "addition": 2, "servic": 2, "normal": 2, "non": 2, "yet": 2, "neg": 2, "wa": 2, "signal": 2, "byte": 2, "assign": 2, "although": 2, "anoth": 2, "numer": 2, "handl": 2, "want": 2, "sever": 2, "simpler": 2, "On": 2, "usabl": 2, "waitforsingleobject": 2, "waitformultipleobject": 2, "famili": 2, "descriptor": 2, "select": 2, "new": 2, "done": 2, "sigterm": 2, "terminateprocess": 2, "handler": 2, "final": 2, "claus": 2, "etc": 2, "descend": 2, "simpli": 2, "associ": 2, "unus": 2, "similarli": 2, "exit_cod": 2, "usag": 2, "rais": 2, "suppli": 2, "buffer": 2, "too": 2, "small": 2, "messag": 2, "e": 2, "give": 2, "like": 2, "produc": 2, "consum": 2, "fifo": 2, "model": 2, "librari": 2, "lack": 2, "introduc": 2, "remov": 2, "count": 2, "unfinish": 2, "eventu": 2, "overflow": 2, "avail": 2, "kill": 2, "while": 2, "tri": 2, "later": 2, "item": 2, "flush": 2, "hang": 2, "doe": 2, "interprocess": 2, "conn1": 2, "conn2": 2, "bidirect": 2, "unidirect": 2, "receiv": 2, "maxsiz": 2, "first": 2, "feeder": 2, "transfer": 2, "approxim": 2, "size": 2, "multithread": 2, "reliabl": 2, "notimplementederror": 2, "maco": 2, "sem_getvalu": 2, "obj": 2, "slot": 2, "immedi": 2, "ignor": 2, "found": 2, "unnecessari": 2, "current": 2, "background": 2, "quit": 2, "automat": 2, "garbag": 2, "collect": 2, "after": 2, "creator": 2, "prevent": 2, "particular": 2, "being": 2, "formerli": 2, "enqueu": 2, "complet": 2, "fetch": 2, "subsequ": 2, "tell": 2, "resum": 2, "everi": 2, "had": 2, "valueerror": 2, "were": 2, "place": 2, "gotten": 2, "goe": 2, "whenev": 2, "down": 2, "retriev": 2, "drop": 2, "zero": 2, "unblock": 2, "live": 2, "affect": 2, "alreadi": 2, "finish": 2, "cpu": 2, "analogu": 2, "current_thread": 2, "add": 2, "frozen": 2, "test": 2, "py2ex": 2, "pyinstal": 2, "cx_freez": 2, "One": 2, "straight": 2, "omit": 2, "runtimeerror": 2, "path": 2, "sy": 2, "embedd": 2, "probabl": 2, "thing": 2, "exec_prefix": 2, "pythonw": 2, "ex": 2, "active_count": 2, "enumer": 2, "settrac": 2, "setprofil": 2, "timer": 2, "picklabl": 2, "thought": 2, "orient": 2, "socket": 2, "larg": 2, "pickl": 2, "32": 2, "mb": 2, "though": 2, "depend": 2, "sent": 2, "someth": 2, "eoferror": 2, "left": 2, "specifi": 2, "maximum": 2, "infinit": 2, "offset": 2, "interfac": 2, "maxlength": 2, "longer": 2, "oserror": 2, "readabl": 2, "ioerror": 2, "now": 2, "alia": 2, "satisfi": 2, "writabl": 2, "written": 2, "less": 2, "short": 2, "unpickl": 2, "secur": 2, "trust": 2, "therefor": 2, "sort": 2, "imposs": 2, "boundari": 2, "lie": 2, "document": 2, "bound": 2, "indistinguish": 2, "variabl": 2, "wait_for": 2, "previous": 2, "recurs": 2, "sem_timedwait": 2, "unsupport": 2, "emul": 2, "behavior": 2, "sleep": 2, "loop": 2, "sigint": 2, "ctrl": 2, "c": 2, "arriv": 2, "interrupt": 2, "keyboardinterrupt": 2, "behaviour": 2, "progress": 2, "typecode_or_typ": 2, "wrapper": 2, "either": 2, "charact": 2, "protect": 2, "necessarili": 2, "size_or_initi": 2, "element": 2, "c_char": 2, "raw": 2, "pointer": 2, "rememb": 2, "locat": 2, "space": 2, "specif": 2, "invalid": 2, "derefer": 2, "crash": 2, "potenti": 2, "atom": 2, "those": 2, "wrap": 2, "get_obj": 2, "get_lock": 2, "through": 2, "lot": 2, "tabl": 2, "below": 2, "compar": 2, "syntax": 2, "mystruct": 2, "structur": 2, "c_doubl": 2, "c_short": 2, "h": 2, "c_int": 2, "modifi": 2, "_fields_": 2, "y": 2, "upper": 2, "875": 2, "75": 2, "375": 2, "49": 2, "1111111111111111": 2, "515625": 2, "39": 2, "0625": 2, "33": 2, "640625": 2, "90": 2, "soon": 2, "serve_forev": 2, "chosen": 2, "check": 2, "valid": 2, "incom": 2, "initarg": 2, "under": 2, "50000": 2, "abc": 2, "m": 2, "127": 2, "5000": 2, "typeid": 2, "proxytyp": 2, "expos": 2, "method_to_typeid": 2, "create_method": 2, "classmethod": 2, "identifi": 2, "from_address": 2, "_exposed_": 2, "public": 2, "__call__": 2, "begin": 2, "_": 2, "_method_to_typeid_": 2, "properti": 2, "modif": 2, "mutabl": 2, "propag": 2, "know": 2, "re": 2, "append": 2, "lproxi": 2, "mutat": 2, "b": 2, "sync": 2, "reassign": 2, "notifi": 2, "Its": 2, "own": 2, "mathsclass": 2, "self": 2, "mul": 2, "mymanag": 2, "math": 2, "56": 2, "assum": 2, "firewal": 2, "command": 2, "queuemanag": 2, "get_queu": 2, "lambda": 2, "abracadabra": 2, "foo": 2, "bar": 2, "org": 2, "super": 2, "w": 2, "presum": 2, "notic": 2, "str": 2, "wherea": 2, "repr": 2, "featur": 2, "comparison": 2, "we": 2, "just": 2, "methodnam": 2, "kwd": 2, "express": 2, "getattr": 2, "convert": 2, "remoteerror": 2, "weakref": 2, "callback": 2, "deregist": 2, "delet": 2, "carri": 2, "submit": 2, "maxtasksperchild": 2, "job": 2, "replac": 2, "fresh": 2, "enabl": 2, "resourc": 2, "freed": 2, "long": 2, "typic": 2, "durat": 2, "frequent": 2, "pattern": 2, "apach": 2, "mod_wsgi": 2, "held": 2, "amount": 2, "clean": 2, "old": 2, "abil": 2, "user": 2, "func": 2, "better": 2, "suit": 2, "error_callback": 2, "variant": 2, "fail": 2, "sinc": 2, "iter": 2, "chunksiz": 2, "built": 2, "chop": 2, "chunk": 2, "lazier": 2, "next": 2, "paramet": 2, "timeouterror": 2, "order": 2, "consid": 2, "guarante": 2, "correct": 2, "expect": 2, "unpack": 2, "henc": 2, "error_back": 2, "combin": 2, "outstand": 2, "rerais": 2, "Will": 2, "assertionerror": 2, "demonstr": 2, "extra": 2, "basic": 2, "high": 2, "level": 2, "deal": 2, "digest": 2, "hmac": 2, "randomli": 2, "repli": 2, "match": 2, "welcom": 2, "calcul": 2, "back": 2, "infer": 2, "backlog": 2, "af_inet": 2, "tcp": 2, "af_unix": 2, "domain": 2, "af_pip": 2, "fastest": 2, "privat": 2, "temporari": 2, "directori": 2, "tempfil": 2, "mkstemp": 2, "advis": 2, "explicitli": 2, "came": 2, "unavail": 2, "object_list": 2, "till": 2, "unlimit": 2, "period": 2, "appear": 2, "almost": 2, "eintr": 2, "waitabl": 2, "accord": 2, "definit": 2, "win32": 2, "secret": 2, "password": 2, "localhost": 2, "6000": 2, "deduc": 2, "junk": 2, "1729": 2, "reader": 2, "r": 2, "promptli": 2, "report": 2, "msg": 2, "hostnam": 2, "port": 2, "filenam": 2, "filesystem": 2, "pipenam": 2, "servernam": 2, "backslash": 2, "rather": 2, "unfortun": 2, "untrust": 2, "establish": 2, "demand": 2, "proof": 2, "request": 2, "themselv": 2, "suitabl": 2, "urandom": 2, "logger": 2, "notset": 2, "root": 2, "stderr": 2, "levelnam": 2, "processnam": 2, "session": 2, "turn": 2, "setlevel": 2, "warn": 2, "doom": 2, "mainprocess": 2, "temp": 2, "pymp": 2, "serv": 2, "del": 2, "subwarn": 2, "subdebug": 2, "illustr": 2, "fit": 2, "hierarchi": 2, "primarili": 2, "certain": 2, "debug": 2, "djgbxn": 2, "unlink": 2, "dead": 2, "rmtree": 2, "0x5aa730": 2, "around": 2, "There": 2, "idiom": 2, "adher": 2, "shift": 2, "stick": 2, "lower": 2, "safeti": 2, "problem": 2, "zombi": 2, "even": 2, "good": 2, "practic": 2, "elsewher": 2, "ancestor": 2, "broken": 2, "bear": 2, "mind": 2, "fed": 2, "underli": 2, "1000000": 2, "fix": 2, "swap": 2, "round": 2, "apart": 2, "still": 2, "might": 2, "rewritten": 2, "bewar": 2, "stdin": 2, "origin": 2, "uncondition": 2, "_bootstrap": 2, "open": 2, "devnul": 2, "solv": 2, "fundament": 2, "collid": 2, "bad": 2, "danger": 2, "applic": 2, "could": 2, "fork": 2, "discard": 2, "_pid": 2, "_cach": 2, "5155": 2, "5313": 2, "5331": 2, "restrict": 2, "unbound": 2, "directli": 2, "constant": 2, "unintend": 2, "entri": 2, "newli": 2, "how": 2, "copyright": 2, "2006": 2, "2008": 2, "oudkerk": 2, "right": 2, "reserv": 2, "g": 2, "_h": 2, "simpl": 2, "baz": 2, "xrang": 2, "yield": 2, "generatorproxi": 2, "__next__": 2, "__iter__": 2, "get_operator_modul": 2, "via": 2, "foo1": 2, "foo2": 2, "20": 2, "f1": 2, "assert": 2, "hasattr": 2, "f2": 2, "op": 2, "23": 2, "45": 2, "pow": 2, "94": 2, "getslic": 2, "repeat": 2, "sai": 2, "calculatestar": 2, "plu": 2, "pow3": 2, "noop": 2, "t": 2, "imap_it": 2, "imap_unordered_it": 2, "unord": 2, "benchmark": 2, "100000": 2, "tmap": 2, "tpool": 2, "tlist": 2, "zerodivisionerror": 2, "tgot": 2, "stopiter": 2, "break": 2, "imapiter": 2, "applyresult": 2, "stdout": 2, "02": 2, "27": 2, "64": 2, "125": 2, "216": 2, "343": 2, "512": 2, "729": 2, "extend": 2, "tcallback": 2, "succeed": 2, "_pool": 2, "tclose": 2, "delta": 2, "ttermin": 2, "tgarbag": 2, "argv": 2, "center": 2, "79": 2, "elif": 2, "systemexit": 2, "overwritten": 2, "test_valu": 2, "value_func": 2, "mutex": 2, "seed": 2, "08": 2, "No": 2, "test_queu": 2, "queue_func": 2, "30": 2, "test_condit": 2, "condition_func": 2, "cond": 2, "tchild": 2, "woken": 2, "test_semaphor": 2, "semaphore_func": 2, "sema": 2, "test_join_timeout": 2, "join_timeout_func": 2, "test_ev": 2, "event_func": 2, "test_sharedvalu": 2, "sharedvalues_func": 2, "shared_valu": 2, "shared_arrai": 2, "v": 2, "sv": 2, "sa": 2, "1000": 2, "_debug_info": 2, "refcount": 2, "feed": 2, "come": 2, "input": 2, "save": 2, "anywai": 2, "referenc": 2, "number_of_process": 2, "tasks1": 2, "tasks2": 2, "task_queu": 2, "done_queu": 2, "simplehttprequesthandl": 2, "http": 2, "reduct": 2, "Not": 2, "seem": 2, "basehttpserv": 2, "httpserver": 2, "simplehttpserv": 2, "pickabl": 2, "requesthandl": 2, "log_messag": 2, "runpool": 2, "act": 2, "dir": 2, "dirnam": 2, "__file__": 2, "8000": 2, "press": 2, "chdir": 2, "gc": 2, "_timer": 2, "clock": 2, "test_queuespe": 2, "queuespeed_func": 2, "256": 2, "elaps": 2, "averag": 2, "sec": 2, "test_pipespe": 2, "pipe_func": 2, "test_seqspe": 2, "seq": 2, "test_lock": 2, "test_lockspe": 2, "conditionspeed_func": 2, "test_conditionspe": 2}, "objects": {"": [[2, 0, 0, "-", "multiprocessing"]], "multiprocessing": [[2, 1, 1, "", "Array"], [2, 2, 1, "", "BoundedSemaphore"], [2, 3, 1, "", "BufferTooShort"], [2, 2, 1, "", "Condition"], [2, 2, 1, "", "Connection"], [2, 2, 1, "", "Event"], [2, 2, 1, "", "JoinableQueue"], [2, 2, 1, "", "Lock"], [2, 1, 1, "", "Pipe"], [2, 2, 1, "", "Process"], [2, 2, 1, "", "Queue"], [2, 2, 1, "", "RLock"], [2, 2, 1, "", "Semaphore"], [2, 2, 1, "", "SimpleQueue"], [2, 1, 1, "", "Value"], [2, 1, 1, "", "active_children"], [2, 0, 0, "-", "connection"], [2, 1, 1, "", "cpu_count"], [2, 1, 1, "", "current_process"], [2, 0, 0, "-", "dummy"], [2, 1, 1, "", "freeze_support"], [2, 1, 1, "", "get_logger"], [2, 1, 1, "", "log_to_stderr"], [2, 0, 0, "-", "managers"], [2, 0, 0, "-", "pool"], [2, 1, 1, "", "set_executable"], [2, 0, 0, "-", "sharedctypes"]], "multiprocessing.Connection": [[2, 4, 1, "", "close"], [2, 4, 1, "", "fileno"], [2, 4, 1, "", "poll"], [2, 4, 1, "", "recv"], [2, 4, 1, "", "recv_bytes"], [2, 4, 1, "", "recv_bytes_into"], [2, 4, 1, "", "send"], [2, 4, 1, "", "send_bytes"]], "multiprocessing.JoinableQueue": [[2, 4, 1, "", "join"], [2, 4, 1, "", "task_done"]], "multiprocessing.Process": [[2, 5, 1, "", "authkey"], [2, 5, 1, "", "daemon"], [2, 5, 1, "", "exitcode"], [2, 4, 1, "", "is_alive"], [2, 4, 1, "", "join"], [2, 5, 1, "", "name"], [2, 5, 1, "", "pid"], [2, 4, 1, "", "run"], [2, 5, 1, "", "sentinel"], [2, 4, 1, "", "start"], [2, 4, 1, "", "terminate"]], "multiprocessing.Queue": [[2, 4, 1, "", "cancel_join_thread"], [2, 4, 1, "", "close"], [2, 4, 1, "", "empty"], [2, 4, 1, "", "full"], [2, 4, 1, "", "get"], [2, 4, 1, "", "get_no_wait"], [2, 4, 1, "", "get_nowait"], [2, 4, 1, "", "join_thread"], [2, 4, 1, "", "put"], [2, 4, 1, "", "put_nowait"], [2, 4, 1, "", "qsize"]], "multiprocessing.SimpleQueue": [[2, 4, 1, "", "empty"], [2, 4, 1, "", "get"], [2, 4, 1, "", "put"]], "multiprocessing.connection": [[2, 3, 1, "", "AuthenticationError"], [2, 1, 1, "", "Client"], [2, 2, 1, "", "Listener"], [2, 1, 1, "", "answerChallenge"], [2, 1, 1, "", "deliver_challenge"], [2, 1, 1, "", "wait"]], "multiprocessing.connection.Listener": [[2, 4, 1, "", "accept"], [2, 5, 1, "", "address"], [2, 4, 1, "", "close"], [2, 5, 1, "", "last_accepted"]], "multiprocessing.managers": [[2, 2, 1, "", "BaseManager"], [2, 2, 1, "", "BaseProxy"], [2, 2, 1, "", "SyncManager"]], "multiprocessing.managers.BaseManager": [[2, 5, 1, "", "address"], [2, 4, 1, "", "connect"], [2, 4, 1, "", "get_server"], [2, 4, 1, "", "register"], [2, 4, 1, "", "shutdown"], [2, 4, 1, "", "start"]], "multiprocessing.managers.BaseProxy": [[2, 4, 1, "", "__repr__"], [2, 4, 1, "", "__str__"], [2, 4, 1, "", "_callmethod"], [2, 4, 1, "", "_getvalue"]], "multiprocessing.managers.SyncManager": [[2, 4, 1, "", "Array"], [2, 4, 1, "", "BoundedSemaphore"], [2, 4, 1, "", "Condition"], [2, 4, 1, "", "Event"], [2, 4, 1, "", "Lock"], [2, 4, 1, "", "Namespace"], [2, 4, 1, "", "Queue"], [2, 4, 1, "", "RLock"], [2, 4, 1, "", "Semaphore"], [2, 4, 1, "", "Value"], [2, 4, 1, "", "dict"], [2, 4, 1, "", "list"]], "multiprocessing.pool": [[2, 2, 1, "", "AsyncResult"]], "multiprocessing.pool.AsyncResult": [[2, 4, 1, "", "get"], [2, 4, 1, "", "ready"], [2, 4, 1, "", "successful"], [2, 4, 1, "", "wait"]], "multiprocessing.pool.multiprocessing": [[2, 2, 1, "", "Pool"]], "multiprocessing.pool.multiprocessing.Pool": [[2, 4, 1, "", "apply"], [2, 4, 1, "", "apply_async"], [2, 4, 1, "", "close"], [2, 4, 1, "", "imap"], [2, 4, 1, "", "imap_unordered"], [2, 4, 1, "", "join"], [2, 4, 1, "", "map"], [2, 4, 1, "", "map_async"], [2, 4, 1, "", "starmap"], [2, 4, 1, "", "starmap_async"], [2, 4, 1, "", "terminate"]], "multiprocessing.sharedctypes": [[2, 1, 1, "", "Array"], [2, 1, 1, "", "RawArray"], [2, 1, 1, "", "RawValue"], [2, 1, 1, "", "Value"], [2, 1, 1, "", "copy"], [2, 1, 1, "", "synchronized"]], "multiprocessing.sharedctypes.multiprocessing": [[2, 1, 1, "", "Manager"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:exception", "4": "py:method", "5": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "exception", "Python exception"], "4": ["py", "method", "Python method"], "5": ["py", "attribute", "Python attribute"]}, "titleterms": {"glossari": 0, "welcom": 1, "multiprocess": [1, 2], "": 1, "document": 1, "indic": 1, "tabl": 1, "process": 2, "base": 2, "parallel": 2, "introduct": 2, "The": 2, "class": 2, "exchang": 2, "object": 2, "between": 2, "synchron": 2, "share": 2, "state": 2, "us": 2, "pool": 2, "worker": 2, "refer": 2, "except": 2, "pipe": 2, "queue": 2, "miscellan": 2, "connect": 2, "primit": 2, "ctype": 2, "sharedctyp": 2, "modul": 2, "manag": 2, "namespac": 2, "custom": 2, "remot": 2, "proxi": 2, "cleanup": 2, "listen": 2, "client": 2, "address": 2, "format": 2, "authent": 2, "kei": 2, "log": 2, "dummi": 2, "program": 2, "guidelin": 2, "all": 2, "platform": 2, "window": 2, "exampl": 2}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"Glossary": [[0, "glossary"]], "Welcome to multiprocessing\u2019s documentation!": [[1, "welcome-to-multiprocessing-s-documentation"]], "Indices and tables": [[1, "indices-and-tables"]], "multiprocessing \u2014 Process-based parallelism": [[2, "module-multiprocessing"]], "Introduction": [[2, "introduction"]], "The Process class": [[2, "the-process-class"]], "Exchanging objects between processes": [[2, "exchanging-objects-between-processes"]], "Synchronization between processes": [[2, "synchronization-between-processes"]], "Sharing state between processes": [[2, "sharing-state-between-processes"]], "Using a pool of workers": [[2, "using-a-pool-of-workers"]], "Reference": [[2, "reference"]], "Process and exceptions": [[2, "process-and-exceptions"]], "Pipes and Queues": [[2, "pipes-and-queues"]], "Miscellaneous": [[2, "miscellaneous"]], "Connection Objects": [[2, "connection-objects"]], "Synchronization primitives": [[2, "synchronization-primitives"]], "Shared ctypes Objects": [[2, "shared-ctypes-objects"]], "The multiprocessing.sharedctypes module": [[2, "module-multiprocessing.sharedctypes"]], "Managers": [[2, "managers"]], "Namespace objects": [[2, "namespace-objects"]], "Customized managers": [[2, "customized-managers"]], "Using a remote manager": [[2, "using-a-remote-manager"]], "Proxy Objects": [[2, "proxy-objects"]], "Cleanup": [[2, "cleanup"]], "Process Pools": [[2, "module-multiprocessing.pool"]], "Listeners and Clients": [[2, "module-multiprocessing.connection"]], "Address Formats": [[2, "address-formats"]], "Authentication keys": [[2, "authentication-keys"]], "Logging": [[2, "logging"]], "The multiprocessing.dummy module": [[2, "module-multiprocessing.dummy"]], "Programming guidelines": [[2, "programming-guidelines"]], "All platforms": [[2, "all-platforms"]], "Windows": [[2, "windows"]], "Examples": [[2, "examples"]]}, "indexentries": {"cpython": [[0, "term-CPython"]], "gil": [[0, "term-GIL"]], "bytecode": [[0, "term-bytecode"]], "global interpreter lock": [[0, "term-global-interpreter-lock"]], "virtual machine": [[0, "term-virtual-machine"]], "array() (in module multiprocessing)": [[2, "multiprocessing.Array"]], "array() (in module multiprocessing.sharedctypes)": [[2, "multiprocessing.sharedctypes.Array"]], "array() (multiprocessing.managers.syncmanager method)": [[2, "multiprocessing.managers.SyncManager.Array"]], "asyncresult (class in multiprocessing.pool)": [[2, "multiprocessing.pool.AsyncResult"]], "authenticationerror": [[2, "multiprocessing.connection.AuthenticationError"]], "basemanager (class in multiprocessing.managers)": [[2, "multiprocessing.managers.BaseManager"]], "baseproxy (class in multiprocessing.managers)": [[2, "multiprocessing.managers.BaseProxy"]], "boundedsemaphore (class in multiprocessing)": [[2, "multiprocessing.BoundedSemaphore"]], "boundedsemaphore() (multiprocessing.managers.syncmanager method)": [[2, "multiprocessing.managers.SyncManager.BoundedSemaphore"]], "buffertooshort": [[2, "multiprocessing.BufferTooShort"]], "client() (in module multiprocessing.connection)": [[2, "multiprocessing.connection.Client"]], "condition (class in multiprocessing)": [[2, "multiprocessing.Condition"]], "condition() (multiprocessing.managers.syncmanager method)": [[2, "multiprocessing.managers.SyncManager.Condition"]], "connection (class in multiprocessing)": [[2, "multiprocessing.Connection"]], "event (class in multiprocessing)": [[2, "multiprocessing.Event"]], "event() (multiprocessing.managers.syncmanager method)": [[2, "multiprocessing.managers.SyncManager.Event"]], "joinablequeue (class in multiprocessing)": [[2, "multiprocessing.JoinableQueue"]], "listener (class in multiprocessing.connection)": [[2, "multiprocessing.connection.Listener"]], "lock (class in multiprocessing)": [[2, "multiprocessing.Lock"]], "lock() (multiprocessing.managers.syncmanager method)": [[2, "multiprocessing.managers.SyncManager.Lock"]], "namespace() (multiprocessing.managers.syncmanager method)": [[2, "multiprocessing.managers.SyncManager.Namespace"]], "pipe() (in module multiprocessing)": [[2, "multiprocessing.Pipe"]], "process (class in multiprocessing)": [[2, "multiprocessing.Process"]], "queue (class in multiprocessing)": [[2, "multiprocessing.Queue"]], "queue() (multiprocessing.managers.syncmanager method)": [[2, "multiprocessing.managers.SyncManager.Queue"]], "rlock (class in multiprocessing)": [[2, "multiprocessing.RLock"]], "rlock() (multiprocessing.managers.syncmanager method)": [[2, "multiprocessing.managers.SyncManager.RLock"]], "rawarray() (in module multiprocessing.sharedctypes)": [[2, "multiprocessing.sharedctypes.RawArray"]], "rawvalue() (in module multiprocessing.sharedctypes)": [[2, "multiprocessing.sharedctypes.RawValue"]], "semaphore (class in multiprocessing)": [[2, "multiprocessing.Semaphore"]], "semaphore() (multiprocessing.managers.syncmanager method)": [[2, "multiprocessing.managers.SyncManager.Semaphore"]], "simplequeue (class in multiprocessing)": [[2, "multiprocessing.SimpleQueue"]], "syncmanager (class in multiprocessing.managers)": [[2, "multiprocessing.managers.SyncManager"]], "value() (in module multiprocessing)": [[2, "multiprocessing.Value"]], "value() (in module multiprocessing.sharedctypes)": [[2, "multiprocessing.sharedctypes.Value"]], "value() (multiprocessing.managers.syncmanager method)": [[2, "multiprocessing.managers.SyncManager.Value"]], "__repr__() (multiprocessing.managers.baseproxy method)": [[2, "multiprocessing.managers.BaseProxy.__repr__"]], "__str__() (multiprocessing.managers.baseproxy method)": [[2, "multiprocessing.managers.BaseProxy.__str__"]], "_callmethod() (multiprocessing.managers.baseproxy method)": [[2, "multiprocessing.managers.BaseProxy._callmethod"]], "_getvalue() (multiprocessing.managers.baseproxy method)": [[2, "multiprocessing.managers.BaseProxy._getvalue"]], "accept() (multiprocessing.connection.listener method)": [[2, "multiprocessing.connection.Listener.accept"]], "active_children() (in module multiprocessing)": [[2, "multiprocessing.active_children"]], "address (multiprocessing.connection.listener attribute)": [[2, "multiprocessing.connection.Listener.address"]], "address (multiprocessing.managers.basemanager attribute)": [[2, "multiprocessing.managers.BaseManager.address"]], "answerchallenge() (in module multiprocessing.connection)": [[2, "multiprocessing.connection.answerChallenge"]], "apply() (multiprocessing.pool.multiprocessing.pool method)": [[2, "multiprocessing.pool.multiprocessing.Pool.apply"]], "apply_async() (multiprocessing.pool.multiprocessing.pool method)": [[2, "multiprocessing.pool.multiprocessing.Pool.apply_async"]], "authkey (multiprocessing.process attribute)": [[2, "multiprocessing.Process.authkey"]], "cancel_join_thread() (multiprocessing.queue method)": [[2, "multiprocessing.Queue.cancel_join_thread"]], "close() (multiprocessing.connection method)": [[2, "multiprocessing.Connection.close"]], "close() (multiprocessing.queue method)": [[2, "multiprocessing.Queue.close"]], "close() (multiprocessing.connection.listener method)": [[2, "multiprocessing.connection.Listener.close"]], "close() (multiprocessing.pool.multiprocessing.pool method)": [[2, "multiprocessing.pool.multiprocessing.Pool.close"]], "connect() (multiprocessing.managers.basemanager method)": [[2, "multiprocessing.managers.BaseManager.connect"]], "copy() (in module multiprocessing.sharedctypes)": [[2, "multiprocessing.sharedctypes.copy"]], "cpu_count() (in module multiprocessing)": [[2, "multiprocessing.cpu_count"]], "current_process() (in module multiprocessing)": [[2, "multiprocessing.current_process"]], "daemon (multiprocessing.process attribute)": [[2, "multiprocessing.Process.daemon"]], "deliver_challenge() (in module multiprocessing.connection)": [[2, "multiprocessing.connection.deliver_challenge"]], "dict() (multiprocessing.managers.syncmanager method)": [[2, "multiprocessing.managers.SyncManager.dict"]], "empty() (multiprocessing.queue method)": [[2, "multiprocessing.Queue.empty"]], "empty() (multiprocessing.simplequeue method)": [[2, "multiprocessing.SimpleQueue.empty"]], "exitcode (multiprocessing.process attribute)": [[2, "multiprocessing.Process.exitcode"]], "fileno() (multiprocessing.connection method)": [[2, "multiprocessing.Connection.fileno"]], "freeze_support() (in module multiprocessing)": [[2, "multiprocessing.freeze_support"]], "full() (multiprocessing.queue method)": [[2, "multiprocessing.Queue.full"]], "get() (multiprocessing.queue method)": [[2, "multiprocessing.Queue.get"]], "get() (multiprocessing.simplequeue method)": [[2, "multiprocessing.SimpleQueue.get"]], "get() (multiprocessing.pool.asyncresult method)": [[2, "multiprocessing.pool.AsyncResult.get"]], "get_logger() (in module multiprocessing)": [[2, "multiprocessing.get_logger"]], "get_no_wait() (multiprocessing.queue method)": [[2, "multiprocessing.Queue.get_no_wait"]], "get_nowait() (multiprocessing.queue method)": [[2, "multiprocessing.Queue.get_nowait"]], "get_server() (multiprocessing.managers.basemanager method)": [[2, "multiprocessing.managers.BaseManager.get_server"]], "imap() (multiprocessing.pool.multiprocessing.pool method)": [[2, "multiprocessing.pool.multiprocessing.Pool.imap"]], "imap_unordered() (multiprocessing.pool.multiprocessing.pool method)": [[2, "multiprocessing.pool.multiprocessing.Pool.imap_unordered"]], "is_alive() (multiprocessing.process method)": [[2, "multiprocessing.Process.is_alive"]], "join() (multiprocessing.joinablequeue method)": [[2, "multiprocessing.JoinableQueue.join"]], "join() (multiprocessing.process method)": [[2, "multiprocessing.Process.join"]], "join() (multiprocessing.pool.multiprocessing.pool method)": [[2, "multiprocessing.pool.multiprocessing.Pool.join"]], "join_thread() (multiprocessing.queue method)": [[2, "multiprocessing.Queue.join_thread"]], "last_accepted (multiprocessing.connection.listener attribute)": [[2, "multiprocessing.connection.Listener.last_accepted"]], "list() (multiprocessing.managers.syncmanager method)": [[2, "multiprocessing.managers.SyncManager.list"]], "log_to_stderr() (in module multiprocessing)": [[2, "multiprocessing.log_to_stderr"]], "map() (multiprocessing.pool.multiprocessing.pool method)": [[2, "multiprocessing.pool.multiprocessing.Pool.map"]], "map_async() (multiprocessing.pool.multiprocessing.pool method)": [[2, "multiprocessing.pool.multiprocessing.Pool.map_async"]], "module": [[2, "module-multiprocessing"], [2, "module-multiprocessing.connection"], [2, "module-multiprocessing.dummy"], [2, "module-multiprocessing.managers"], [2, "module-multiprocessing.pool"], [2, "module-multiprocessing.sharedctypes"]], "multiprocessing": [[2, "module-multiprocessing"]], "multiprocessing.manager() (in module multiprocessing.sharedctypes)": [[2, "multiprocessing.sharedctypes.multiprocessing.Manager"]], "multiprocessing.pool (class in multiprocessing.pool)": [[2, "multiprocessing.pool.multiprocessing.Pool"]], "multiprocessing.connection": [[2, "module-multiprocessing.connection"]], "multiprocessing.dummy": [[2, "module-multiprocessing.dummy"]], "multiprocessing.managers": [[2, "module-multiprocessing.managers"]], "multiprocessing.pool": [[2, "module-multiprocessing.pool"]], "multiprocessing.sharedctypes": [[2, "module-multiprocessing.sharedctypes"]], "name (multiprocessing.process attribute)": [[2, "multiprocessing.Process.name"]], "pid (multiprocessing.process attribute)": [[2, "multiprocessing.Process.pid"]], "poll() (multiprocessing.connection method)": [[2, "multiprocessing.Connection.poll"]], "put() (multiprocessing.queue method)": [[2, "multiprocessing.Queue.put"]], "put() (multiprocessing.simplequeue method)": [[2, "multiprocessing.SimpleQueue.put"]], "put_nowait() (multiprocessing.queue method)": [[2, "multiprocessing.Queue.put_nowait"]], "qsize() (multiprocessing.queue method)": [[2, "multiprocessing.Queue.qsize"]], "ready() (multiprocessing.pool.asyncresult method)": [[2, "multiprocessing.pool.AsyncResult.ready"]], "recv() (multiprocessing.connection method)": [[2, "multiprocessing.Connection.recv"]], "recv_bytes() (multiprocessing.connection method)": [[2, "multiprocessing.Connection.recv_bytes"]], "recv_bytes_into() (multiprocessing.connection method)": [[2, "multiprocessing.Connection.recv_bytes_into"]], "register() (multiprocessing.managers.basemanager method)": [[2, "multiprocessing.managers.BaseManager.register"]], "run() (multiprocessing.process method)": [[2, "multiprocessing.Process.run"]], "send() (multiprocessing.connection method)": [[2, "multiprocessing.Connection.send"]], "send_bytes() (multiprocessing.connection method)": [[2, "multiprocessing.Connection.send_bytes"]], "sentinel (multiprocessing.process attribute)": [[2, "multiprocessing.Process.sentinel"]], "set_executable() (in module multiprocessing)": [[2, "multiprocessing.set_executable"]], "shutdown() (multiprocessing.managers.basemanager method)": [[2, "multiprocessing.managers.BaseManager.shutdown"]], "starmap() (multiprocessing.pool.multiprocessing.pool method)": [[2, "multiprocessing.pool.multiprocessing.Pool.starmap"]], "starmap_async() (multiprocessing.pool.multiprocessing.pool method)": [[2, "multiprocessing.pool.multiprocessing.Pool.starmap_async"]], "start() (multiprocessing.process method)": [[2, "multiprocessing.Process.start"]], "start() (multiprocessing.managers.basemanager method)": [[2, "multiprocessing.managers.BaseManager.start"]], "successful() (multiprocessing.pool.asyncresult method)": [[2, "multiprocessing.pool.AsyncResult.successful"]], "synchronized() (in module multiprocessing.sharedctypes)": [[2, "multiprocessing.sharedctypes.synchronized"]], "task_done() (multiprocessing.joinablequeue method)": [[2, "multiprocessing.JoinableQueue.task_done"]], "terminate() (multiprocessing.process method)": [[2, "multiprocessing.Process.terminate"]], "terminate() (multiprocessing.pool.multiprocessing.pool method)": [[2, "multiprocessing.pool.multiprocessing.Pool.terminate"]], "wait() (in module multiprocessing.connection)": [[2, "multiprocessing.connection.wait"]], "wait() (multiprocessing.pool.asyncresult method)": [[2, "multiprocessing.pool.AsyncResult.wait"]]}})