Multithreaded Programming with C++

A professional C++ programmer needs to know how to write correct multithreaded code to take full advantage of all the available processor units. Writing multithreaded applications used to rely on platform‐ and operating system‐specific APIs. This made it difficult to write platform‐independent multi...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Professional C++ s. 1 - 2
Hlavný autor: Gregoire, Marc
Médium: Kapitola
Jazyk:English
Vydavateľské údaje: Hoboken, New Jersey John Wiley & Sons 2018
John Wiley & Sons, Inc
Vydanie:4th Edition
Predmet:
ISBN:1119421306, 9781119421306
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Abstract A professional C++ programmer needs to know how to write correct multithreaded code to take full advantage of all the available processor units. Writing multithreaded applications used to rely on platform‐ and operating system‐specific APIs. This made it difficult to write platform‐independent multithreaded code. C++11 solved this problem by including a standard threading library. A difficult part of multithreaded programming is making the algorithm parallel, which is highly dependent on the type of the algorithm. Other difficulties are preventing race conditions, deadlocks, tearing, and false‐sharing. This chapter discusses these difficulties in more detail. They are usually solved using atomics or explicit synchronization mechanisms. Launching a new thread is pretty easy. However, in most cases the programmers are probably interested in results produced by the thread. There is one easier method to obtain a result from threads: futures.
AbstractList A professional C++ programmer needs to know how to write correct multithreaded code to take full advantage of all the available processor units. Writing multithreaded applications used to rely on platform‐ and operating system‐specific APIs. This made it difficult to write platform‐independent multithreaded code. C++11 solved this problem by including a standard threading library. A difficult part of multithreaded programming is making the algorithm parallel, which is highly dependent on the type of the algorithm. Other difficulties are preventing race conditions, deadlocks, tearing, and false‐sharing. This chapter discusses these difficulties in more detail. They are usually solved using atomics or explicit synchronization mechanisms. Launching a new thread is pretty easy. However, in most cases the programmers are probably interested in results produced by the thread. There is one easier method to obtain a result from threads: futures.
Author Gregoire Marc
Author_xml – sequence: 1
  givenname: Marc
  surname: Gregoire
  fullname: Gregoire, Marc
BookMark eNptkE1PwzAMhoMACTb6BzhNnJCmDjtu0-yIJj4mjY8DnKO0SbbSrq3ajmn8elq2C4iLbb2vH0uvB-ykKAvL2CXCBAH4zTSSiDgNOPJITJIVpyPm9WLICVEGcnrMBocNAnHGvKb5AAACCCmS5-zqaZO3abuqrTbWjF7rclnr9TotlqNtJ49m4_EFO3U6b6x36EP2fn_3Nnv0Fy8P89ntws9QgPO5cNIZKePYxMJRPwhjOMUhiIRjJEOiRIAIdRQlDkXIpY2RtDTCdoamIZvs727T3O6Ujcsya9SvhOorrVSfUlXGdQD9AyCo_jV_wB-oLx11vaeyovy0uarqdK3rXWfqqrW1ylpAfJ4LDOgbNspkXg
ContentType Book Chapter
Copyright 2018
2018 John Wiley & Sons, Inc.
Copyright_xml – notice: 2018
– notice: 2018 John Wiley & Sons, Inc.
DOI 10.1002/9781119421276.ch23
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9781523118489
1523118482
9781119421276
1119421276
Edition 4th Edition
EndPage 2
ExternalDocumentID 10.1002/9781119421276.ch23
chapter_kt011NI614
Genre chapter
GroupedDBID 38.
3XM
AABBV
AAKGN
AALIM
AANYM
AAZGR
ABARN
ABHAM
ABQPQ
ADBND
ADVEM
AEHEP
AERYV
AETLP
AFOJC
AFQEX
AJAFW
ALMA_UNASSIGNED_HOLDINGS
APVFW
BBABE
CZZ
E2F
ERSLE
GEOUK
IPJKO
JFSCD
L7C
LQKAK
LWYJN
LYPXV
OHILO
OODEK
UE6
W1A
WZT
YPLAZ
ZEEST
ABRSK
ACBYE
AHWGJ
ID FETCH-LOGICAL-k160f-26f8fd88bbdb6f388bb6dd23b506c2178533c6065a77cf16528eb13a8d6e3c6a3
IEDL.DBID K-E
ISBN 1119421306
9781119421306
IngestDate Wed Nov 27 04:53:03 EST 2019
Sat Nov 15 22:23:32 EST 2025
Sat Nov 23 14:04:04 EST 2024
IsDoiOpenAccess false
IsOpenAccess true
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-k160f-26f8fd88bbdb6f388bb6dd23b506c2178533c6065a77cf16528eb13a8d6e3c6a3
OpenAccessLink https://onlinelibrary.wiley.com/doi/pdfdirect/10.1002/9781119421276.ch23
PageCount 2
ParticipantIDs knovel_primary_chapter_kt011NI614
wiley_ebooks_10_1002_9781119421276_ch23_ch23
PublicationCentury 2000
PublicationDate 2018
2018-02-19
PublicationDateYYYYMMDD 2018-01-01
2018-02-19
PublicationDate_xml – year: 2018
  text: 2018
PublicationDecade 2010
PublicationPlace Hoboken, New Jersey
PublicationPlace_xml – name: Hoboken, New Jersey
PublicationTitle Professional C++
PublicationYear 2018
Publisher John Wiley & Sons
John Wiley & Sons, Inc
Publisher_xml – name: John Wiley & Sons
– name: John Wiley & Sons, Inc
SSID ssj0003005378
ssj0002250047
ssib042320622
ssib031318037
Score 1.5280557
Snippet A professional C++ programmer needs to know how to write correct multithreaded code to take full advantage of all the available processor units. Writing...
SourceID wiley
knovel
SourceType Enrichment Source
Publisher
StartPage 1
SubjectTerms atomics
deadlocks
explicit synchronization mechanisms
false‐sharing
multithreaded programming
professional C++ programmer
Programming Languages
race conditions
Software Engineering
tearing
thread local storage
TableOfContents 23.1 Introduction 23.2 Threads 23.3 Atomic Operations Library 23.4 Mutual Exclusion 23.5 Condition Variables 23.6 Futures 23.7 Example: Multithreaded Logger Class 23.8 Thread Pools 23.9 Threading Design and Best Practices Summary
Title Multithreaded Programming with C++
URI https://app.knovel.com/hotlink/pdf/rcid:kpPCE00035/id:kt011NI614/professional-c-4th-edition/multithreaded-programming?kpromoter=Summon
https://onlinelibrary.wiley.com/doi/abs/10.1002/9781119421276.ch23
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwzR27TsMw8MRrQAy8RXlUASExgEnjJI7DwlCVh4DSASTEEiV-qKXQRhAY-AC-m7OTUroxskTxI458d_K9fHcA-1RLliqPES9DTSfgIiCZ9inRIdOocMRIUzZQ-Dpqt_nDQ9yZgq9RLIwpbtUfDD_Usz2mu8PCODLdXGrXFJk96eedZsv6v1zTKpA825fIYkzg2k8mCyJIUHQJnv5mc669mlcgaFKpJKnuPb0gZzjt5_bOG9JMaXOahlmUP6hR4q7I2FaDNN8YeaeerBZhsqBwW3jIiwOKfIBV6aN-2lWADn7sjvtpxI5F15RGmis3OSkSW552tvhfoLEECybgwjGRENi7DFNqsAKLo3ITTnX6rMLeze81nc54TcdYk53m4eEa3J-17poXpCrxQPoea2hCmeZacp5lJhzQNy9MSupnYYMJ1JZQmPAF6lhhGkVCeyykHJmLn3LJFA6k_jrMDIYDtQEOV6jMU5oxrqIAh-IwFjzj3FNSoBbs1WC3BGWSl3k8ElHuKxnDrQZHFh2J9VS_JWVOZ5pMYDAxGLSPGhxMTJ-c9tnLy6mIrs0__HwL5lEa46V9Zxtmitd3tQNz4qPovb3WYbp581iH2fPW7f1V3dLnNyFh_-w
linkProvider Knovel
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.title=Professional+C%2B%2B&rft.au=Gregoire%2C+Marc&rft.atitle=Multithreaded+Programming+with+C%2B%2B&rft.date=2018-02-19&rft.pub=John+Wiley+%26+Sons%2C+Inc&rft.isbn=9781119421306&rft.spage=813&rft.epage=855&rft_id=info:doi/10.1002%2F9781119421276.ch23&rft.externalDocID=10.1002%2F9781119421276.ch23
thumbnail_s http://cvtisr.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fcontent.knovel.com%2Fcontent%2FThumbs%2Fthumb11039.gif