This HTML5 document contains 108 embedded RDF statements represented using HTML+Microdata notation.

The embedded RDF content will be recognized by any processor of HTML5 Microdata.

Namespace Prefixes

PrefixIRI
dbpedia-dehttp://de.dbpedia.org/resource/
dcthttp://purl.org/dc/terms/
yago-reshttp://yago-knowledge.org/resource/
dbohttp://dbpedia.org/ontology/
foafhttp://xmlns.com/foaf/0.1/
dbpedia-kohttp://ko.dbpedia.org/resource/
dbpedia-huhttp://hu.dbpedia.org/resource/
n4http://lt.dbpedia.org/resource/
n24https://global.dbpedia.org/id/
yagohttp://dbpedia.org/class/yago/
dbthttp://dbpedia.org/resource/Template:
rdfshttp://www.w3.org/2000/01/rdf-schema#
freebasehttp://rdf.freebase.com/ns/
n22http://www.adaic.com/standards/05rm/html/
dbpedia-plhttp://pl.dbpedia.org/resource/
dbpedia-cshttp://cs.dbpedia.org/resource/
n11https://web.archive.org/web/20160304053622/https:/www.kernel.org/doc/Documentation/
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
n23http://dbpedia.org/resource/Memory-mapped_I/
dbpedia-arhttp://ar.dbpedia.org/resource/
owlhttp://www.w3.org/2002/07/owl#
dbpedia-zhhttp://zh.dbpedia.org/resource/
dbpedia-frhttp://fr.dbpedia.org/resource/
dbpedia-mshttp://ms.dbpedia.org/resource/
wikipedia-enhttp://en.wikipedia.org/wiki/
dbphttp://dbpedia.org/property/
dbchttp://dbpedia.org/resource/Category:
provhttp://www.w3.org/ns/prov#
xsdhhttp://www.w3.org/2001/XMLSchema#
wikidatahttp://www.wikidata.org/entity/
dbrhttp://dbpedia.org/resource/

Statements

Subject Item
dbr:Volatile_(computer_programming)
rdf:type
yago:WikicatProgrammingConstructs yago:Cognition100023271 yago:Idea105833840 yago:Content105809192 yago:Abstraction100002137 yago:PsychologicalFeature100023100 yago:Concept105835747
rdfs:label
Volatile (computer programming) Volatile (Informatik) Volatile变量 Volatile 변수 Volatile Zmienna ulotna Variable volatile متغير متقلب
rdfs:comment
在程序设计中,尤其是在C语言、C++、C#和Java语言中,使用volatile关键字声明的变量或对象通常具有与优化、多线程相关的特殊属性。通常,volatile关键字是用来阻止(伪)编译器因誤認某段程式碼無法被程式碼本身所改變,而造成的過度優化。如在C语言中,volatile关键字可以用来提醒编译器它后面所定义的变量随时有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。 在C环境中,volatile关键字的真实定义和适用范围经常被误解。虽然C++、C#和Java都保留了C中的volatile关键字,但在这些编程语言中volatile的用法和语义却大相径庭。 En programmation informatique, une variable volatile est une variable sur laquelle aucune optimisation de compilation n'est appliquée. Le mot-clé existe en C, C++, C# et Java. Le préfixe volatile est notamment utilisé quand la variable d'un programme peut être modifiée par un autre programme (cas des entrées/sorties, ou de threads). Volatile (deutsch flüchtig, wechselhaft) ist ein Zusatz bei der Deklaration von Variablen in Programmiersprachen wie C, C++, Java oder C#. In C und C++ spezifiziert dieser Qualifizierer, dass sich der Wert der Variable jederzeit ohne expliziten Zugriff im Quelltext ändern kann, etwa durch externe Hardware oder asynchron ausgeführte ISRs, und dass alle Zugriffe beobachtbares Verhalten darstellen, also auch Lesezugriffe, deren Wert nicht verwendet wird, sowie wiederholtes Schreiben auf dieselbe Adresse, ohne dass explizit gelesen wird. Das schränkt Compiler bei der Optimierung des Codes ein. Allerdings bezieht sich der Term „beobachtbares Verhalten“ auf das der abstrakten Maschine der Sprachspezifikation, und diese kennt kein Threading. Die Kennzeichnung von Variablen als volatile garantiert V počítačových programovacích jazycích, zvláště v C, C++, C# a Java, má objekt deklarovaný pomocí klíčového slova volatile obvykle zvláštní vlastnosti co se týče optimalizace nebo vláken. Zjednodušeně se dá říci, že klíčové slovo volatile brání kompilátoru použít při optimalizaci kódu předpoklad, že se proměnné nemohou „samy” změnit. المتغير المتقلب (بالإنجليزية: Volatile variable)‏ هو واحد من الممكن إضافتها على المتغيرات في لغات البرمجة. المتغير المتقلب موجود في لغتي سي وسي++ البرمجيتين، كما يوجد أيضًا في بعض اللغات الأخرى مثل سي# والجافا. Zmienna ulotna – zmienna lub obiekt, które mogą zostać zmienione "z zewnątrz" — niezależnie od kodu programu, w którym się znajdują. Pomiędzy różnymi odczytami, wartości zmiennej mogą być różne, nawet jeśli nie były zmodyfikowane w kodzie. Zastosowanie volatile powstrzymuje kompilator optymalizujący przed pomijaniem zapisów do pamięci lub w wypadku kolejnych odczytów czy zapisów zmiennej przed zastąpieniem jej w skompilowanym kodzie przez stałą. Zmienne ulotne pojawiają się przede wszystkim w dostępie do sprzętu, gdzie korzystanie z pamięci jest wykorzystywane do komunikacji pomiędzy urządzeniami oraz w środowisku wielowątkowym, w którym różne wątki mogą korzystać z tej samej zmiennej. C/C++ 프로그래밍 언어에서 이 키워드는 최적화 등 컴파일러의 재량을 제한하는 역할을 한다. 개발자가 설정한 개념을 구현하기 위해 코딩된 프로그램을 온전히 컴파일되도록 한다. 주로 최적화와 관련하여 volatile가 선언된 변수는 최적화에서 제외된다.OS와 연관되어 장치제어를 위한 주소체계에서 지정한 주소를 직접 액세스하는 방식을 지정할 수도 있다. 리눅스 커널 등의 OS에서 메모리 주소는 MMU와 연관 된 주소체계로 논리주소와 물리주소 간의 변환이 이루어진다. 경우에 따라 이런 변환을 제거하는 역할을 한다. 또한 원거리 메모리 점프 기계어 코드 등의 제한을 푼다. In computer programming, particularly in the C, C++, C#, and Java programming languages, the volatile keyword indicates that a value may change between different accesses, even if it does not appear to be modified. This keyword prevents an optimizing compiler from optimizing away subsequent reads or writes and thus incorrectly reusing a stale value or omitting writes. Volatile values primarily arise in hardware access (memory-mapped I/O), where reading from or writing to memory is used to communicate with peripheral devices, and in threading, where a different thread may have modified a value.
dct:subject
dbc:Variable_(computer_science) dbc:Concurrency_control dbc:C_(programming_language)
dbo:wikiPageID
944846
dbo:wikiPageRevisionID
1122008072
dbo:wikiPageWikiLink
dbr:Java_programming_language dbr:Infinite_loop dbr:POSIX dbr:Happened-before dbc:Variable_(computer_science) dbr:Peripheral_device dbr:Hardware_register dbr:Double-checked_locking dbr:Type_qualifier dbr:Value_(computer_science) dbr:Programming_language dbr:C_(programming_language) dbr:Memory_barrier dbr:Evaluation_strategy dbc:Concurrency_control dbr:Lock_(computer_science) dbr:Thread_(computer_science) dbr:Variable_(computer_science) dbr:Atomic_operation dbr:Polling_(computer_science) dbr:Fortran dbr:Object_(computer_science) dbr:CPU dbr:C17_(C_standard_revision) dbr:Thread_(computing) dbr:C_Sharp_(programming_language) n23:O dbr:Data_type dbr:Java_(programming_language) dbr:Aliasing_(computing) dbr:GNU_Compiler_Collection dbr:Keyword_(computer_programming) dbr:Struct dbc:C_(programming_language) dbr:C++ dbr:C++11 dbr:D_(programming_language) dbr:Optimizing_compiler dbr:Closure_(computer_programming) dbr:Computer_programming
dbo:wikiPageExternalLink
n11:volatile-considered-harmful.txt n22:RM-C-6.html
owl:sameAs
n4:Lakus_kintamasis dbpedia-pl:Zmienna_ulotna yago-res:Volatile_(computer_programming) dbpedia-hu:Volatilitás_(programozás) dbpedia-ko:Volatile_변수 dbpedia-zh:Volatile变量 wikidata:Q838108 n24:4zeFV dbpedia-fr:Variable_volatile dbpedia-ar:متغير_متقلب dbpedia-ms:Pemboleh_ubah_volatile dbpedia-de:Volatile_(Informatik) dbpedia-cs:Volatile freebase:m.03s51p
dbp:wikiPageUsesTemplate
dbt:Short_description dbt:Lowercase_title dbt:Mono dbt:Reflist dbt:=
dbo:abstract
在程序设计中,尤其是在C语言、C++、C#和Java语言中,使用volatile关键字声明的变量或对象通常具有与优化、多线程相关的特殊属性。通常,volatile关键字是用来阻止(伪)编译器因誤認某段程式碼無法被程式碼本身所改變,而造成的過度優化。如在C语言中,volatile关键字可以用来提醒编译器它后面所定义的变量随时有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。 在C环境中,volatile关键字的真实定义和适用范围经常被误解。虽然C++、C#和Java都保留了C中的volatile关键字,但在这些编程语言中volatile的用法和语义却大相径庭。 In computer programming, particularly in the C, C++, C#, and Java programming languages, the volatile keyword indicates that a value may change between different accesses, even if it does not appear to be modified. This keyword prevents an optimizing compiler from optimizing away subsequent reads or writes and thus incorrectly reusing a stale value or omitting writes. Volatile values primarily arise in hardware access (memory-mapped I/O), where reading from or writing to memory is used to communicate with peripheral devices, and in threading, where a different thread may have modified a value. Despite being a common keyword, the behavior of volatile differs significantly between programming languages, and is easily misunderstood. In C and C++, it is a type qualifier, like <a href="/wiki/Const_(computer_programming)" title="Const (computer programming)">const</a>, and is a property of the type. Furthermore, in C and C++ it does not work in most threading scenarios, and that use is discouraged. In Java and C#, it is a property of a variable and indicates that the object to which the variable is bound may mutate, and is specifically intended for threading. In the D programming language, there is a separate keyword shared for the threading usage, but no volatile keyword exists. C/C++ 프로그래밍 언어에서 이 키워드는 최적화 등 컴파일러의 재량을 제한하는 역할을 한다. 개발자가 설정한 개념을 구현하기 위해 코딩된 프로그램을 온전히 컴파일되도록 한다. 주로 최적화와 관련하여 volatile가 선언된 변수는 최적화에서 제외된다.OS와 연관되어 장치제어를 위한 주소체계에서 지정한 주소를 직접 액세스하는 방식을 지정할 수도 있다. 리눅스 커널 등의 OS에서 메모리 주소는 MMU와 연관 된 주소체계로 논리주소와 물리주소 간의 변환이 이루어진다. 경우에 따라 이런 변환을 제거하는 역할을 한다. 또한 원거리 메모리 점프 기계어 코드 등의 제한을 푼다. Volatile (deutsch flüchtig, wechselhaft) ist ein Zusatz bei der Deklaration von Variablen in Programmiersprachen wie C, C++, Java oder C#. In C und C++ spezifiziert dieser Qualifizierer, dass sich der Wert der Variable jederzeit ohne expliziten Zugriff im Quelltext ändern kann, etwa durch externe Hardware oder asynchron ausgeführte ISRs, und dass alle Zugriffe beobachtbares Verhalten darstellen, also auch Lesezugriffe, deren Wert nicht verwendet wird, sowie wiederholtes Schreiben auf dieselbe Adresse, ohne dass explizit gelesen wird. Das schränkt Compiler bei der Optimierung des Codes ein. Allerdings bezieht sich der Term „beobachtbares Verhalten“ auf das der abstrakten Maschine der Sprachspezifikation, und diese kennt kein Threading. Die Kennzeichnung von Variablen als volatile garantiert also keine Thread-Sicherheit. Im Gegensatz dazu werden bei Java und C# Variablen mit volatile gekennzeichnet, auf die verschiedene Threads zugreifen, um die Sichtbarkeit zu synchronisieren. Mit volatile gekennzeichnete Variablen werden in Java nicht zwischengespeichert (z. B. in Registern). Dadurch wird sichergestellt, dass auch bei Zugriff von mehreren Threads der richtige Wert gelesen wird. Der Zusatz volatile sorgt in Java nicht für gegenseitigen Ausschluss und ersetzt somit nicht Synchronisationsmechanismen (z. B. Locks oder Semaphore). En programmation informatique, une variable volatile est une variable sur laquelle aucune optimisation de compilation n'est appliquée. Le mot-clé existe en C, C++, C# et Java. Le préfixe volatile est notamment utilisé quand la variable d'un programme peut être modifiée par un autre programme (cas des entrées/sorties, ou de threads). المتغير المتقلب (بالإنجليزية: Volatile variable)‏ هو واحد من الممكن إضافتها على المتغيرات في لغات البرمجة. المتغير المتقلب موجود في لغتي سي وسي++ البرمجيتين، كما يوجد أيضًا في بعض اللغات الأخرى مثل سي# والجافا. خاصية المتغير المتقلب تخبر المصرف بأن يحول شفرة المتغير الثنائية إلى صورة تمكن البرامج الأخرى وعتاد الحاسوب من الدخول إليها. ففي العادة عند قيام المصرف بتحويل الملف المصدري إلى شفرة ثنائية يقوم بعمل بعض الإضافات على المتغيرات بحيث لا يسمح لأي برنامج آخر أن يدخل إلى هذه المتغيرات وقرأها. أقرب مثال على ذلك متغير الوقت الموجود في أنظمة التشغيل المختلفة والذي يعمل على تخزين الوقت الحالي في الذاكرة العشوائية، ولكنه في نفس الوقت يسمح للبرامج الأخرى بقراءة المتغير لكي تستخرج منه الوقت الحالي، فلو لم تكن هذه الخاصية موجودة لكان من الصعب على البرامج معرفة الوقت الحالي. V počítačových programovacích jazycích, zvláště v C, C++, C# a Java, má objekt deklarovaný pomocí klíčového slova volatile obvykle zvláštní vlastnosti co se týče optimalizace nebo vláken. Zjednodušeně se dá říci, že klíčové slovo volatile brání kompilátoru použít při optimalizaci kódu předpoklad, že se proměnné nemohou „samy” změnit. Zmienna ulotna – zmienna lub obiekt, które mogą zostać zmienione "z zewnątrz" — niezależnie od kodu programu, w którym się znajdują. Pomiędzy różnymi odczytami, wartości zmiennej mogą być różne, nawet jeśli nie były zmodyfikowane w kodzie. Zastosowanie volatile powstrzymuje kompilator optymalizujący przed pomijaniem zapisów do pamięci lub w wypadku kolejnych odczytów czy zapisów zmiennej przed zastąpieniem jej w skompilowanym kodzie przez stałą. Zmienne ulotne pojawiają się przede wszystkim w dostępie do sprzętu, gdzie korzystanie z pamięci jest wykorzystywane do komunikacji pomiędzy urządzeniami oraz w środowisku wielowątkowym, w którym różne wątki mogą korzystać z tej samej zmiennej. Pomimo bycia powszechnym słowem kluczowym dokładne zachowanie volatile różni się pomiędzy językami programowania. W C i C++ jest modyfikatorem do typu podobnie jak słowo kluczowe const i nie sprawdza się w większości szablonów programów wielowątkowych, dlatego jego zastosowanie jest odradzane. W językach C# i Java jest przeznaczone specjalnie do wielowątkowości — charakteryzuje zmienną i oznacza, że obiekt, z którym jest ona powiązana, może się zmienić.
prov:wasDerivedFrom
wikipedia-en:Volatile_(computer_programming)?oldid=1122008072&ns=0
dbo:wikiPageLength
19508
foaf:isPrimaryTopicOf
wikipedia-en:Volatile_(computer_programming)
Subject Item
dbr:Rust_(programming_language)
dbo:wikiPageWikiLink
dbr:Volatile_(computer_programming)
Subject Item
dbr:Linux_kernel
dbo:wikiPageWikiLink
dbr:Volatile_(computer_programming)
Subject Item
dbr:As-if_rule
dbo:wikiPageWikiLink
dbr:Volatile_(computer_programming)
Subject Item
dbr:Volatile_variable
dbo:wikiPageWikiLink
dbr:Volatile_(computer_programming)
dbo:wikiPageRedirects
dbr:Volatile_(computer_programming)
Subject Item
dbr:Volatile_(Computer_Science)
dbo:wikiPageWikiLink
dbr:Volatile_(computer_programming)
dbo:wikiPageRedirects
dbr:Volatile_(computer_programming)
Subject Item
wikipedia-en:Volatile_(computer_programming)
foaf:primaryTopic
dbr:Volatile_(computer_programming)