ืืืื ืืึผืฆึธืข ืืืืืื ืืืืืช ืืื ืืงืก ืืช ืืกื ืืจืืฉืื ืฉื ืชืืงืื ืื ืขื ืืืืขืช ืืจืืืืื ืืืจืืฉืื ืืื ืืืืืื ืืช ืขืืืืชื ืฉื ืืืื ืืฉืจืฉืืจ M:N. ืืืืืื ืฉื ืืืื ืงืฉืืจื ืืคืชืืืช API ืฉืคืืชื ืืืืชืืื ืกืืืจืืช ืืขืืืจ ื ืขืืืจ ืืืืช ืืื ืืงืก, ืืืกืคืงืช ืชืช-ืืขืจืืช ืืจืืืช ืืืืื ืฉืจืฉืจืช ืืืืืฉืืช ืืืจืื ืืืฉืชืืฉ ืืืฉืชืืฉืช ืืืืื ืืฉืจืฉืืจ M:N. ืชืช-ืืืขืจืืช ืืฉืืฉืช ืืช ืืืื ืืื ืืกืคืง ืฉืืจืืชืื ืืืืจืฉืื ืขืืืืืื ืืื ืืืืืื. ืชืืืื ืื ืืืื ืืคืฆืช ืืฉืจืฉืืจืื ืืืืฆืขืื ืืืื ืืืจืื ืืืฉืชืืฉ, ืื ืฉืืืื ืืืคืืืช ืืฉืืขืืชืืช ืืช ืืกืคืจ ืืืจืจื ืืืงืฉืจ ืขื ืืื ืืืขืืจ ืืืฆืืข ืงืจืืืืช ืืืขืจืืช.
ืืื ืืืืืื ืืช ืคืขืืืช ืืืฉื ื ืืื, ื- SwitchTo API ืืืฉื ืืจืืช ืืืืช ืืื ืืงืก, ืืืฆืืข ืฉืืืฉ ืคืขืืืืช ืืกืืกืืืช - ืืืชื ื, ืืืฉื ืืืืืคื (ืืืืคื). ืืืืืื ืืืืื, ืืืฆืข ืงืื ืืคืขืืืช FUTEX_SWAP ืืืฉื, ืืฉืืื FUTEX_WAIT ื-FUTEX_WAKE, ืืืกืคืงืช ืืกืืจืช ืืื ืืืช ืกืคืจืืืช ืืจืืื ืืฉืชืืฉ ืืจืืื ืืืืื. ื ืืชื ืืืฉืชืืฉ ื-FUTEX_SWAP ืื ืืืขืืจืช ืืืืขืืช ืืื ืืฉืืืืช, ืืืืื ื-RPC. ืืืืืื, ื ืืื ืืขืืฉืื, ืืื ืืืขืืืจ ืืืืขื ืืื ืืฉืืืืช, ื ืืจืฉืืช ืืคืืืช ืืจืืข ืฉืืืืช ื-FUTEX_WAIT ืื-FUTEX_WAKE, ืืขืื ืฉืฉืืืืฉ ื-FUTEX_SWAP ืืืคืฉืจ ืืืฆืข ืคืขืืื ืืืช ืืืจ ืืืชืจ ืคื 5-10.
ืืืื, ืืืืืื ืืืจืืื 1:1 ื-N:1 ืืฉืืฉืื ืืขืืงืจ ืืคืืขื. ืืืื 1:1 ืืฉืืฉ ื NPTL (ืฉืจืฉืืจื POSIX) ื LinuxThreads, ืืืจืื ืขื ืืืคืื ืืฉืืจ ืฉื ืฉืจืฉืืจ ืืจืื ืืฉืชืืฉ ืืฉืจืฉืืจ (ืืืืืช ืชืืืื ืืืฆืืข) ืืจืืช ืืงืจื ื. ืืืื N:1 ืืืืฉื ื GNU Pth, ืืืื ืืช ืชืืืื ืืฉืจืฉืืจืื ืืืจืื ืืืฉืชืืฉ ืืืืคืฉืจ ื-N ืฉืจืฉืืจื ืืจืื ืืืฉืชืืฉ ืืืืงืฉืจ ืืฉืจืฉืืจ ืืืื ืืงืจื ื, ืืืื ืฉืืงืจื ื ืืืข ืขื ืฉืจืฉืืจื ืืฉืชืืฉ.
ืืืืกืจืื ืืขืืงืจื ืฉื ืืืื 1:1 ืืื ืืชืงืืจื ืืืืืื ืฉื ืืขืืจ ืืืงืฉืจ ืืื ืืงืจื ื ืืืจืื ืืืฉืชืืฉ. ืืืื ื-N:1 ืคืืชืจ ืืขืื ืื, ืื ืืืฆืจ ืืขืื ืืืฉื - ืืืืืื ืฉืจืฉืืจ ืืืืื ืืื ืืืืื ืืืชื ื ืืชื ืช ืืืืืงื ืฉื ืชืืืื ืืืฆืืข, ืฉืจืฉืืจื ืืฉืชืืฉ ืืืืืืจืื ืืฉืจืฉืืจ ืืืื ืืืืืช ืืขืจืืช ืืืคืขืื ืืื ื ืืืืืื ืืืชืจืื ืขื ืคื ื ืืืืืช ืืืขืื ืืืืืืช ืงืฉืืจืื ืืืืช ืืขืื ืืืืื.
ืืืื M:N ืืื ืืืืจืืื ืืืชืืืืก ืืื ืืืกืจืื ืืช ืฉืืขืื ืขื ืืื ืืืคืื N ืฉืจืฉืืจืื ืฉื ืืจืื ืืฉืชืืฉ ื-M ืืืืืช ืฉืจืฉืืจืื, ืื ืืฆืืฆืืืช ืืช ืชืงืืจื ืฉื ืืชื ืืืงืฉืจ ืืื ืงื ื ืืืื ืขื ืคื ื ืืืืืช ืืืขืื. ืืืืืจ ืฉื ืืคืฉืจืืช ืื ืืื ืืกืืืื ืืืืื ืฉื ืืืืขืช ืืชืืื ื-thread ืืืจืื ืืืฉืชืืฉ ืืืฆืืจื ืืื ืื ืื ืื ืืชืืืื ืคืขืืืืช ืขื ืืชืืื ืืงืจื ื.
ืืงืืจ: OpenNet.ru