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...
Uložené v:
| Vydané v: | Professional C++ s. 1 - 2 |
|---|---|
| Hlavný autor: | |
| 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 |

