Java concurrency (original) (raw)
The Java programming language and the Java virtual machine (JVM) have been designed to support concurrent programming, and all execution takes place in the context of threads. Objects and resources can be accessed by many separate threads; each thread has its own path of execution but can potentially access any object in the program. The programmer must ensure read and write access to objects is properly coordinated (or "synchronized") between threads. Thread synchronization ensures that objects are modified by only one thread at a time and that threads are prevented from accessing partially updated objects during modification by another thread. The Java language has built-in constructs to support this coordination.
Property | Value |
---|---|
dbo:abstract | The Java programming language and the Java virtual machine (JVM) have been designed to support concurrent programming, and all execution takes place in the context of threads. Objects and resources can be accessed by many separate threads; each thread has its own path of execution but can potentially access any object in the program. The programmer must ensure read and write access to objects is properly coordinated (or "synchronized") between threads. Thread synchronization ensures that objects are modified by only one thread at a time and that threads are prevented from accessing partially updated objects during modification by another thread. The Java language has built-in constructs to support this coordination. (en) Язык программирования Java и JVM (Java Virtual Machine) разработаны с поддержкой параллельных вычислений, и все вычисления выполняются в контексте потока. Несколько потоков могут совместно использовать объекты и ресурсы; каждый поток выполняет свои инструкции (код), но потенциально может получить доступ к любому объекту в программе. В обязанности программиста входит координация (или «синхронизация») потоков во время операций чтения и записи разделяемых объектов. Синхронизация потоков нужна для того, чтобы гарантировать, что одновременно к объекту может обращаться только один поток, и чтобы предотвратить обращение потоков к неполностью обновленным объектам в то время, как с ними работает другой поток. В языке Java есть встроенные конструкции поддержки синхронизации потоков. (ru) Мова програмування Java і JVM (Java Virtual Machine) розроблені з підтримкою паралельних обчислень, і всі обчислення виконуються в контексті потоку. Декілька потоків можуть спільно використовувати об'єкти і ресурси; кожен потік може виконувати свої інструкції (код), але потенційно може отримати доступ до будь-якого об'єкта в програмі. В обов'язки програміста входить координація (або «синхронізація») потоків під час операції запису і читання розділюваних об'єктів. Синхронізація потоків потрібна для того, щоб гарантувати, що одночасно до одного об'єкту може звертатися тільки один потік, і щоб запобігти звернення потоків до неповністю оновлених об'єктів в той час, як з ними працює інший потік. В мові Java є вбудовані конструкції підтримки синхронізації потоків. (uk) |
dbo:wikiPageExternalLink | http://www.cs.umd.edu/~pugh/java/memoryModel/ http://sourceforge.net/projects/javaconcurrenta https://archive.org/details/concurrentprogra00lead_0 https://archive.org/details/javaconcurrencyi00goet http://tutorials.jenkov.com/java-concurrency/index.html https://web.archive.org/web/20181017222458/http:/thread-safe.org/ http://docs.oracle.com/javase/tutorial/essential/concurrency/ |
dbo:wikiPageID | 7901943 (xsd:integer) |
dbo:wikiPageLength | 13119 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1114045469 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Memory_model_(programming) dbr:Monitor_(synchronization) dbr:Multithreading_(software) dbr:Memory_barrier dbr:Doug_Lea dbr:Register_allocation dbr:Light-weight_process dbr:Java_Memory_Model dbr:Thread_safety dbc:Java_(programming_language) dbr:Compiler dbr:Concurrent_computing dbr:Concurrency_(computer_science) dbr:Concurrency_pattern dbr:Concurrent_programming dbr:Common_subexpression_elimination dbr:Synchronization_(computer_science) dbr:Sequential_consistency dbr:Mutual_exclusion dbc:Concurrent_computing dbr:ThreadSafe dbr:Linearizability dbr:Lock_(computer_science) dbr:J2SE_1.2 dbr:J2SE_5.0 dbr:Partial_redundancy_elimination dbr:Central_processing_unit dbr:Fork–join_model dbr:Happened-before dbr:Process_(computing) dbr:Java_(programming_language) dbr:Java_SE_7 dbc:Sun_Microsystems dbr:Java_Community_Process dbr:Java_ConcurrentMap dbr:Java_collections_framework dbr:Java_memory_model dbr:Java_package dbr:Java_virtual_machine dbr:Thread_(computing) dbr:Memory_hierarchy dbr:Java_SE_6 dbr:Volatile_variable dbr:Thread_(computer_science) dbr:Compiler_optimization |
dbp:wikiPageUsesTemplate | dbt:Cite_book dbt:More_footnotes dbt:Reflist dbt:Short_description |
dcterms:subject | dbc:Java_(programming_language) dbc:Concurrent_computing dbc:Sun_Microsystems |
rdfs:comment | The Java programming language and the Java virtual machine (JVM) have been designed to support concurrent programming, and all execution takes place in the context of threads. Objects and resources can be accessed by many separate threads; each thread has its own path of execution but can potentially access any object in the program. The programmer must ensure read and write access to objects is properly coordinated (or "synchronized") between threads. Thread synchronization ensures that objects are modified by only one thread at a time and that threads are prevented from accessing partially updated objects during modification by another thread. The Java language has built-in constructs to support this coordination. (en) Язык программирования Java и JVM (Java Virtual Machine) разработаны с поддержкой параллельных вычислений, и все вычисления выполняются в контексте потока. Несколько потоков могут совместно использовать объекты и ресурсы; каждый поток выполняет свои инструкции (код), но потенциально может получить доступ к любому объекту в программе. В обязанности программиста входит координация (или «синхронизация») потоков во время операций чтения и записи разделяемых объектов. Синхронизация потоков нужна для того, чтобы гарантировать, что одновременно к объекту может обращаться только один поток, и чтобы предотвратить обращение потоков к неполностью обновленным объектам в то время, как с ними работает другой поток. В языке Java есть встроенные конструкции поддержки синхронизации потоков. (ru) Мова програмування Java і JVM (Java Virtual Machine) розроблені з підтримкою паралельних обчислень, і всі обчислення виконуються в контексті потоку. Декілька потоків можуть спільно використовувати об'єкти і ресурси; кожен потік може виконувати свої інструкції (код), але потенційно може отримати доступ до будь-якого об'єкта в програмі. В обов'язки програміста входить координація (або «синхронізація») потоків під час операції запису і читання розділюваних об'єктів. Синхронізація потоків потрібна для того, щоб гарантувати, що одночасно до одного об'єкту може звертатися тільки один потік, і щоб запобігти звернення потоків до неповністю оновлених об'єктів в той час, як з ними працює інший потік. В мові Java є вбудовані конструкції підтримки синхронізації потоків. (uk) |
rdfs:label | Java concurrency (en) Параллелизм в Java (ru) Паралелізм в Java (uk) |
owl:sameAs | freebase:Java concurrency wikidata:Java concurrency dbpedia-hu:Java concurrency dbpedia-ro:Java concurrency dbpedia-ru:Java concurrency dbpedia-uk:Java concurrency https://global.dbpedia.org/id/ACcd |
prov:wasDerivedFrom | wikipedia-en:Java_concurrency?oldid=1114045469&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Java_concurrency |
is dbo:wikiPageRedirects of | dbr:Java_Concurrency dbr:Concurrency_in_java dbr:JSR_166 |
is dbo:wikiPageWikiLink of | dbr:Retrotranslator dbr:Doug_Lea dbr:Task_parallelism dbr:Google_Guava dbr:Concurrent_data_structure dbr:Fork–join_model dbr:Java_Community_Process dbr:Java_ConcurrentMap dbr:Java_collections_framework dbr:Java_memory_model dbr:Java_Concurrency dbr:Concurrency_in_java dbr:JSR_166 |
is foaf:primaryTopic of | wikipedia-en:Java_concurrency |