Setcontext (original) (raw)
setcontext is one of a family of C library functions (the others being getcontext, makecontext and swapcontext) used for context control. The setcontext family allows the implementation in C of advanced control flow patterns such as iterators, fibers, and coroutines. They may be viewed as an advanced version of setjmp/longjmp; whereas the latter allows only a single non-local jump up the stack, setcontext allows the creation of multiple cooperative threads of control, each with its own stack.
Property | Value |
---|---|
dbo:abstract | setcontext is one of a family of C library functions (the others being getcontext, makecontext and swapcontext) used for context control. The setcontext family allows the implementation in C of advanced control flow patterns such as iterators, fibers, and coroutines. They may be viewed as an advanced version of setjmp/longjmp; whereas the latter allows only a single non-local jump up the stack, setcontext allows the creation of multiple cooperative threads of control, each with its own stack. (en) setcontext — одна из библиотечных функций стандарта POSIX (в число других входят getcontext, makecontext и swapcontext), используемая для управления контекстом. Семейство setcontext позволяет реализовать на языке Си такие паттерны проектирования управления потоком, как итераторы, нити (fibers) и сопрограммы. Семейство можно рассматривать как расширенную версию setjmp/longjmp; в то время как последние позволяют только один нелокальный прыжок из стека, setcontext позволяет создание нескольких взаимодействующих потоков управления с собственными стеками. (ru) |
dbo:wikiPageExternalLink | https://www.gnu.org/software/libc/manual/html_mono/libc.html%23System-V-contexts |
dbo:wikiPageID | 6006007 (xsd:integer) |
dbo:wikiPageLength | 10630 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1076784498 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Processor_register dbr:Entry_point dbc:Threads_(computing) dbr:Unix-like dbr:Design_pattern dbr:Library_(computing) dbr:Computer_multitasking dbr:Context_(computing) dbr:Opaque_pointer dbr:GNU_C_Library dbr:Control_flow dbr:Coroutine dbr:Call_stack dbr:Single_Unix_Specification dbr:Stack_pointer dbr:Subroutine dbr:State_(computer_science) dbr:C_(programming_language) dbc:C_(programming_language)_libraries dbr:POSIX dbr:POSIX_Threads dbr:Central_processing_unit dbr:Iterator dbr:Flag_(computing) dbr:Header_file dbc:Control_flow dbc:Unix dbc:Articles_with_example_C_code dbr:LP64 dbr:Fiber_(computer_science) dbr:Instruction_pointer dbr:Operating_system dbr:Volatile_variable dbr:Return_value dbr:Setjmp/longjmp dbr:Signal_(computing) dbr:Constant_propagation dbr:Thread_(computer_science) dbr:Compiler_optimization dbr:Execution_(computers) |
dbp:wikiPageUsesTemplate | dbt:Quote dbt:Man dbt:Lowercase |
dct:subject | dbc:Threads_(computing) dbc:C_(programming_language)_libraries dbc:Control_flow dbc:Unix dbc:Articles_with_example_C_code |
gold:hypernym | dbr:Family |
rdf:type | yago:WikicatCLibraries yago:Area102735688 yago:Artifact100021939 yago:Library103660909 yago:Object100002684 yago:PhysicalEntity100001930 yago:YagoGeoEntity yago:YagoPermanentlyLocatedEntity yago:Room104105893 yago:Structure104341686 yago:Whole100003553 |
rdfs:comment | setcontext is one of a family of C library functions (the others being getcontext, makecontext and swapcontext) used for context control. The setcontext family allows the implementation in C of advanced control flow patterns such as iterators, fibers, and coroutines. They may be viewed as an advanced version of setjmp/longjmp; whereas the latter allows only a single non-local jump up the stack, setcontext allows the creation of multiple cooperative threads of control, each with its own stack. (en) setcontext — одна из библиотечных функций стандарта POSIX (в число других входят getcontext, makecontext и swapcontext), используемая для управления контекстом. Семейство setcontext позволяет реализовать на языке Си такие паттерны проектирования управления потоком, как итераторы, нити (fibers) и сопрограммы. Семейство можно рассматривать как расширенную версию setjmp/longjmp; в то время как последние позволяют только один нелокальный прыжок из стека, setcontext позволяет создание нескольких взаимодействующих потоков управления с собственными стеками. (ru) |
rdfs:label | Setcontext (en) Setcontext (ru) |
owl:sameAs | freebase:Setcontext yago-res:Setcontext wikidata:Setcontext dbpedia-ru:Setcontext https://global.dbpedia.org/id/3kBdp |
prov:wasDerivedFrom | wikipedia-en:Setcontext?oldid=1076784498&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Setcontext |
is dbo:wikiPageRedirects of | dbr:Getcontext dbr:Makecontext dbr:Swapcontext |
is dbo:wikiPageWikiLink of | dbr:Coroutine dbr:Call_stack dbr:Getcontext dbr:Makecontext dbr:Swapcontext dbr:Fiber_(computer_science) |
is foaf:primaryTopic of | wikipedia-en:Setcontext |