ഗോ ഭാഷക്ക് കൺകറണ്ട് പ്രോഗ്രാമുകൾ എഴുതുന്നതിന് ബിൽറ്റ്-ഇൻ സൗകര്യങ്ങളും, അതുപോലെതന്നെ ലൈബ്രറി പിന്തുണയും ഉണ്ട്. കൺകറണ്ട് സിപിയു പാരലിസം മാത്രമല്ല, എസിൻക്രണിയും: ഉണ്ട് പ്രോഗ്രാമിന് മറ്റ് പ്രവർത്തനങ്ങൾ ചെയ്യുമ്പോൾ ഒരു ഡാറ്റാബേസ് അല്ലെങ്കിൽ നെറ്റ്വർക്ക് റീഡർ പോലെ സ്ലോ പ്രവർത്തനങ്ങൾ അനുവദിക്കുന്നത്, ഇവന്റ് അടിസ്ഥാനമാക്കിയുള്ള സെർവറുകളിൽ സാധാരണമാണ്.

പ്രാഥമിക കൺകറൻസി നിർമ്മാണം ഗോറൂട്ടിൻ ആണ്, ഒരു തരം ലൈറ്റ് വെയിറ്റ് പ്രോസസ്സ്. ഗോ കീവേഡിനു മുൻപുള്ള ഒരു ഫംഗ്ഷൻ കോൾ പുതിയ ഗോറുട്ടീനുകളിൽ ഒരു ഫംഗ്ഷൻ ആരംഭിക്കുന്നു. ഗോറുട്ടീനുകളിൽ എങ്ങനെയാണ് നടപ്പാക്കേണ്ടതെന്ന് ഭാഷാ സ്പെസിഫിക്കേഷൻ വ്യക്തമാക്കുന്നില്ല. എന്നാൽ, ഇർലാങ്ങിൽ(ഇർലാങ്(Erlang)ഒരു പ്രോഗ്രാമിംഗ് ഭാഷയാണ്) ഷെഡ്യൂൾ ചെയ്തതുപോലുള്ള സമാനമായ ഒരു ചെറിയ ഓപ്പറേറ്റിങ് സിസ്റ്റം ത്രെഡുകളിലേക്ക് നിലവിലെ നടപ്പാക്കലുകൾ ഒരു ഗോ പ്രോസസിന്റെ ഗോറുട്ടീനുകൾ മൾട്ടിപ്ലെക്സ് ചെയ്യുന്നു.

ക്ലാസിക്കൽ കൺകറണ്ട് കൺട്രോൾ ഓർഗനൈസേഷനുകൾ (മൂട്ടക്സ് ലോക്കുകൾ, മുതലായവ) അവതരിപ്പിക്കുന്ന ഒരു സാധാരണ ലൈബ്രറി പാക്കേജ് ലഭ്യമാണെങ്കിലും ഐഡിയോമാറ്റിക് കൺകറണ്ട് പ്രോഗ്രാമുകൾക്ക് പകരം ചാനലുകളാണ് ഗോറുട്ടീൻസിനായി സന്ദേശങ്ങൾ അയയ്ക്കുന്നത്.ഓപ്ഷണൽ ബഫറുകൾ ഫിഫോ ഓർഡറിൽ സൂക്ഷിക്കുന്നു, അവരുടെ സന്ദേശങ്ങൾ ലഭിക്കുന്നതിന് മുമ്പ് തുടരുന്നതിനായി ഗോറുട്ടീൻസ് അയയ്ക്കാൻ അനുവദിക്കുന്നു.

ചാനലുകൾ ടൈപ്പ് ചെയ്തു, അതിനാൽ ടൈപ്പ്codice_23 സന്ദേശങ്ങൾ കൈമാറാൻ മാത്രമേcodice_24 ചാനൽ ഉപയോഗിക്കാനാകൂ. അവയക്ക് മേൽ പ്രത്യേക വാക്യഘടന പ്രവർത്തിപ്പിക്കാൻ ഉപയോഗിക്കുന്നു; ചാനൽ codice_25, ഒരു മൂല്യം വരുന്നതുവരെ പ്രവർത്തിപ്പിക്കുന്നതിന് ഗോറുട്ടീൻ തടയാൻ കാരണമാകുന്ന ഒരു പദമാണ് codice_26. codice_27 മൂല്യം x (മറ്റൊരു ഗോറുട്ടീൻ സ്വീകരിക്കുന്നതുവരെ തടയുന്നുണ്ടാകാം) അയയ്ക്കുന്നു. ഒന്നിലധികം ചാനലുകളിൽ തടസ്സമില്ലാത്ത ആശയവിനിമയം നടപ്പിലാക്കുന്നതിന് അന്തർനിർമ്മിത സ്വിച്ച് പോലുള്ള തിരഞ്ഞെടുക്കൽ ഉപയോഗിക്കാം. ഗോറുട്ടീൻസ് എങ്ങനെ ചാനലുകൾ ഉപയോഗിക്കണം എന്നത് വിവരിക്കുന്ന ഗോയുക്കുള്ള ഒരു മെമ്മറി മോഡിനൊപ്പം പോകുക അല്ലെങ്കിൽ മറ്റ് പ്രവർത്തനങ്ങൾക്കായി സുരക്ഷിതമായി ഡാറ്റ പങ്കുവയ്ക്കാൻ.

കൺകറണ്ട് ഭാഷയായ എർലാങ് പോലെ ആക്ടർ മോഡൽ ശൈലിയിൽ നിന്ന് വ്യത്യസ്തമായി ചാനലുകൾ നിലനിൽക്കുന്നു, ആക്ടേഴ്സ് അവിടെ സന്ദേശങ്ങൾ അഭിസംബോധന ചെയ്യപ്പെടുന്നു(ഗോറുട്ടീൻസിന് സമാനമാണ്). ഗോറുട്ടീനുകൾക്കും ചാനലുകൾക്കുമിടയിൽ വൺ ടു വൺ ശൈലിയിൽ ഒരു ബന്ധം നിലനിർത്തുക വഴി, ആക്ടേഴ്സ് ശൈലി ബലവത്താക്കാൻ കഴിയും ഒന്നിലധികം ഗോറുട്ടീൻസ് ഒന്നിലധികം ചാനലുകളിൽ അയയ്ക്കാനും സ്വീകരിക്കാനും ഒരു ചാനൽ അല്ലെങ്കിൽ ഒരൊറ്റ ഗോറുട്ടീൻ പങ്കിടുന്നതിന് ഭാഷയെ അനുവദിക്കുന്നു.

വർക്കർ പൂളുകൾ പോലെ ഈ ഉപകരണങ്ങളിൽ നിന്ന് ഒരേയൊരു നിർമ്മിതി ഉണ്ടാക്കാൻ കഴിയും, പൈപ്പ് ലൈനുകൾ (ഇതിൽ ഫയൽ ഡികംപ്രസ് ചെയ്യപ്പെടും അതോടൊപ്പം ഡൌൺലോഡ് ചെയ്യുമ്പോൾ വിശകലനം ചെയ്യുകയും ചെയ്യുന്നു), കാലാവധി നീണ്ടുനിൽക്കുന്ന പശ്ചാത്തല കോളുകൾ, ഒരു കൂട്ടം സേവനങ്ങൾക്ക് സമാന്തരമായി "ഫാൻ-ഔട്ട്" സമാന്തര കോൾ ചെയ്യുന്നു.ഇന്റർപ്രോസ്സസ് ആശയവിനിമയത്തിന്റെ പരമ്പരാഗത ആശയങ്ങളിൽ നിന്ന് കൂടുതൽ ചാനലുകൾ കണ്ടെത്തിയിട്ടുണ്ട്, മാത്രമല്ല റീസൈക്കിൾഡ് ബഫറുകളുടെ കൺകറൻസി-സേഫ് ലിസ്റ്റായി പ്രയോജനപ്പെടുത്തുകയും ചെയ്യുന്നു.കോറുട്ടീനസ് നടപ്പാക്കൽ (ഇത് ഗോറുട്ടീൻ നാമത്താൽ പ്രചോദിപ്പിക്കാൻ സഹായിച്ചു), ഒപ്പം ഇറ്ററേറ്ററുകൾ നടപ്പിലാക്കുകയും ചെയ്യുന്നു.

ഗോ ഘടനയുടെ അനുബന്ധ ഘടനാപരമായ കൺവെൻഷനുകൾ (ചാനലുകളും ബദൽ ചാനൽ ഇൻപുട്ടുകൾ) ടോണി ഹോറേയുടെ ആശയവിനിമയ ശ്രേണി പ്രക്രിയാ മാതൃകയിൽ നിന്ന് ഉരുത്തിരിഞ്ഞു വന്നിട്ടുള്ളതാണ്. ഒകാം (Occam) അല്ലെങ്കിൽ ലിംബോ (ഗോ കോ-ഡിസൈനർ റോബ് പൈക്ക് പ്രവർത്തിച്ചിരുന്ന ഒരു ഭാഷ) പോലുള്ള മുൻകാല പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ നിന്ന് വ്യത്യസ്തമായി,സുരക്ഷിതമായി പരിശോധിച്ചുറപ്പിക്കാവുന്ന കൺകറൻസിയുടെ ഏതെങ്കിലും അന്തർനിർമ്മിത വിഭാവനം ചെയ്തിട്ടില്ല.ആശയവിനിമയ പ്രക്രിയകളെ മോഡലിലേക്ക് ആകർഷിക്കപ്പെടുമ്പോൾ, അത് മാത്രമല്ല, ഒരു പ്രോഗ്രാമിലെ എല്ലാ ഗോറുട്ടീൻസിന്റെ ഒരു ഒറ്റ അഡ്രസ്സ് സ്പേസ് പങ്കിടുന്നു. ഇത് അർഥമാക്കുന്നത് ഗോറുട്ടീനുകൾക്കിടയിൽ മ്യൂട്ടബിൾ വസ്തുക്കളും പോയിന്റുകളും പങ്കിടാം എന്നാണ്.
പതിപ്പ് ചരിത്രം
റേസിംഗ് കണ്ടീഷൻ സുരക്ഷയുടെ അഭാവം
സമാന്തര പ്രോഗ്രാമിംഗിനുള്ള അനുയോജ്യത
കൺകറൻസി: ഗോറുട്ടീൻസുകളും ചാനലുകളും