Sukzessive Optimierung - Relaxed-Semantik

Inhaltsverzeichnis[Anzeigen]

Mit der Relaxed-Semantik gelten keine Synchronisations- und Ordnungsbedingungen auf den atomaren Operationen.

 

Relaxed-Semantik

Bei der Relaxed-Semantik reduzieren sich die atomaren Operationen auf ihre Atomizität.

 

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <atomic>
#include <iostream>
#include <thread>

std::atomic<int> x{0};
std::atomic<int> y{0};

void writing(){  
  x.store(2000,std::memory_order_relaxed);  
  y.store(11,std::memory_order_relaxed);
}

void reading(){  
  std::cout << y.load(std::memory_order_relaxed) << " ";  
  std::cout << x.load(std::memory_order_relaxed) << std::endl;
}

int main(){
  std::thread thread1(writing);
  std::thread thread2(reading);
  thread1.join();
  thread2.join();
};

 

Mit der Relaxed-Semantik ist es einfach, die entscheidenden Fragen des kleinen Programms zu beantworten. Ist das Programm wohldefiniert? Welche Werte für x und y sind möglich? Zum einen sind alle Operationen auf den Variablen x und y atomar. Somit ist das Programm wohldefiniert. Zum anderen gelten keine Einschränkungen auf den Ausführungen der beiden Threads. Es kann vorkommen, dass der thread2 die Operationen des thread1 in anderer Reihenfolge sieht. Zum ersten Mal in unserer sukzessiven Optimierung ist es zulässig, dass der Wert x == 0 und der Wert von y == 11 von dem thread2 ausgegeben wird. Somit sind alle Kombinationen der Werte von x und y möglich.

sukzessiveOptimierungRelaxedSemantik

Wie geht's weiter?

Im nächsten Artikel will ich mit der Mär aufräumen, dass volatile in C++ Multithreading-Semantik besitzt.

 

 

 

 

 

 

 

title page smalltitle page small Go to Leanpub/cpplibrary "What every professional C++ programmer should know about the C++ standard library".   Hole dir dein E-Book. Unterstütze meinen Blog.

 

 

Kommentare   

0 #1 essaychip.com 2016-07-01 17:44
I’ve recently started a blog, the info you provide on this
site has helped me tremendously. Thanks for all of your time & work.
Zitieren
0 #2 t shirt blanc 2016-08-11 11:02
Just wish to say your article is as surprising.
The clearness in your post is just spectacular and i
can assume you are an expert on this subject.

Well with your permission let me to grab your feed to keep updated with forthcoming post.
Thanks a million and please continue the rewarding work.
Zitieren
0 #3 Clemmie 2016-12-13 21:11
Very wonderful visual appeal on this site, I'd
value it 10 10.
Zitieren
0 #4 plagiarism free 2016-12-21 10:56
Real informative and good anatomical structure of content
material , now that's user friendly (:
Zitieren

Kommentar schreiben


Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare