Chapter 18ConcurrencyModern system architectures usually support runni การแปล - Chapter 18ConcurrencyModern system architectures usually support runni ไทย วิธีการพูด

Chapter 18ConcurrencyModern system

Chapter 18
Concurrency
Modern system architectures usually support running multiple tasks and multiple threads at the same
time. Especially when multiple processor cores are provided, the execution time of programs can
significantly improve when multiple threads are used.
However, executing things in parallel also introduces new challenges. Instead of doing one statement
after the other, multiple statements can be performed simultaneously, which can result in such
problems as concurrently accessing the same resources, so that creations, reads, writes, and deletions
don’t take place in an expected order and provide unexpected results. In fact, concurrent access
to data from multiple threads easily can become a nightmare, with such problems as deadlocks,
whereby threads wait for each other, belonging to the simple cases.
Before C++11, there was no support for concurrency in the language and the C++ standard
library, although implementations were free to give some guarantees. With C++11, this has changed.
Both the core language and the library were improved to support concurrent programming (see
Section 4.5, page 55):
• The core language now defines a memory model that guarantees that updates on two different
objects used by two different threads are independent of each other, and has introduced a new
keyword thread_local for defining variables with thread-specific values.
• The library now provides support to start multiple threads, including passing arguments, return
values, and exceptions across thread boundaries, as well as means to synchronize multiple
threads, so we can synchronize both the control flow and data access.
The library provides its support on different levels. For example, a high-level interface allows you to
start a thread including passing arguments and dealing with results and exceptions, which is based on
a couple of low-level interfaces for each of these aspects. On the other hand, there are also low-level
features, such as mutexes or even atomics dealing with relaxed memory orders.
This chapter introduces these library features. Note that the topic of concurrency and the description
of the libraries provided for it can fill books. So, here, I introduce general concepts and typical
examples for the average application programmer, with the main focus on the high-level interfaces.
For any details, especially of the tricky low-level problems and features, please refer to the specific
books and articles mentioned. My first and major recommendation for this whole topic of concurrency
is the book C++ Concurrency in Action by Anthony Williams (see [Williams:C++Conc]).
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
บทที่ 18
เกิด
สถาปัตยกรรมระบบสมัยใหม่มักจะสนับสนุนการทำงานหลายงานและหลายหัวข้อที่เหมือนกัน
ครั้ง โดยเฉพาะอย่างยิ่งเมื่อมีหลายแกนตัวประมวลผล เวลาปฏิบัติการของโปรแกรมสามารถ
มากปรับปรุงเมื่อมีใช้หลายเธรดได้
อย่างไรก็ตาม ดำเนินกิจกรรมควบคู่กันและยังแนะนำความท้าทายใหม่ แทนที่จะทำคำสั่งเดียว
หลังจากที่อื่น งบหลายสามารถดำเนินการได้พร้อมกัน ในเช่น
ปัญหาการเข้าถึงทรัพยากรเดียวกัน พร้อมให้สร้างสรรค์ อ่าน เขียน และลบ
ดอนทีใช้ในใบสั่งที่คาดไว้ และให้ผลลัพธ์ที่ไม่คาดคิดได้ ในความเป็นจริง พร้อมเข้า
ข้อมูลจากหลายเธรดได้อย่างง่ายดายสามารถกลายเป็นฝันร้าย กับปัญหาดังกล่าวเป็นงัน,
โดยเธรดรอกัน ของตัวอย่างกรณีการ
ก่อน C 11 มีไม่สนับสนุนเกิดภาษาและมาตรฐาน C
ไลบรารี แม้ว่าใช้งานได้ฟรีเพื่อให้ประกันบาง มี C 11 นี้ได้เปลี่ยนแปลงการ
ทั้งหลักภาษาและไลบรารีถูกพัฒนาเพื่อรองรับการเขียนโปรแกรมพร้อมกัน (ดู
ส่วน 4.5 หน้า 55):
•ภาษาหลักตอนนี้กำหนดหน่วยความจำแบบที่รับประกันที่ปรับปรุงในสองแตกต่าง
ใช้สองหัวข้อที่แตกต่างกันไม่ขึ้นอยู่กับแต่ละอื่น ๆ และได้แนะนำใหม่
thread_local สำคัญในการกำหนดตัวแปร ด้วยค่าหัวข้อเฉพาะการ
•รีตอนนี้ให้การสนับสนุนเริ่มต้นหัวข้อหลาย รวมทั้งผ่านอาร์กิวเมนต์ กลับ
ค่า และข้อยกเว้นในขอบเขตของเธรด ตลอดจนวิธีการซิงโครไนส์หลาย
กระทู้ ดังนั้นเราสามารถปรับให้ตรงกันทั้งควบคุมขั้นตอนและข้อมูลเข้าไว้
รีให้การสนับสนุนในระดับต่าง ๆ ตัวอย่าง อินเตอร์เฟซระดับสูงช่วยให้คุณ
เริ่มด้ายผ่านอาร์กิวเมนต์ และจัดการกับผลลัพธ์และข้อยกเว้น ซึ่งยึด
คู่ล่างอินเทอร์เฟซสำหรับแต่ละด้านเหล่านี้ บนมืออื่น ๆ ยังมีระดับต่ำ
คุณลักษณะ เช่น mutexes หรือ atomics แม้กับผ่อนคลายจำสั่ง
บทนี้แนะนำคุณลักษณะเหล่านี้ไลบรารี สังเกตว่า หัวข้อพร้อมกันและคำอธิบาย
ของไลบรารีไว้สำหรับมันสามารถใส่หนังสือ ดังนั้น ที่นี่ ผมแนะนำแนวคิดทั่วไป และทั่วไป
ตัวอย่างสำหรับโปรแกรมเมอร์แอพลิเคชันเฉลี่ย มีหลักบนสูงส่วนติดต่อ
สำหรับรายละเอียดใด ๆ โดยเฉพาะอย่างยิ่งของระดับต่ำปัญหายุ่งยากและลักษณะการทำงาน โปรดดูการ
หนังสือและบทความที่กล่าวถึง ของฉันแรก และสำคัญคำแนะนำสำหรับหัวข้อนี้ทั้งหมดของเกิด
เป็นหนังสือ C เกิดในการดำเนินการโดยแอนโทนีวิลเลียมส์ (ดู [Conc วิลเลียมส์: C])
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
Chapter 18
Concurrency
Modern system architectures usually support running multiple tasks and multiple threads at the same
time. Especially when multiple processor cores are provided, the execution time of programs can
significantly improve when multiple threads are used.
However, executing things in parallel also introduces new challenges. Instead of doing one statement
after the other, multiple statements can be performed simultaneously, which can result in such
problems as concurrently accessing the same resources, so that creations, reads, writes, and deletions
don’t take place in an expected order and provide unexpected results. In fact, concurrent access
to data from multiple threads easily can become a nightmare, with such problems as deadlocks,
whereby threads wait for each other, belonging to the simple cases.
Before C++11, there was no support for concurrency in the language and the C++ standard
library, although implementations were free to give some guarantees. With C++11, this has changed.
Both the core language and the library were improved to support concurrent programming (see
Section 4.5, page 55):
• The core language now defines a memory model that guarantees that updates on two different
objects used by two different threads are independent of each other, and has introduced a new
keyword thread_local for defining variables with thread-specific values.
• The library now provides support to start multiple threads, including passing arguments, return
values, and exceptions across thread boundaries, as well as means to synchronize multiple
threads, so we can synchronize both the control flow and data access.
The library provides its support on different levels. For example, a high-level interface allows you to
start a thread including passing arguments and dealing with results and exceptions, which is based on
a couple of low-level interfaces for each of these aspects. On the other hand, there are also low-level
features, such as mutexes or even atomics dealing with relaxed memory orders.
This chapter introduces these library features. Note that the topic of concurrency and the description
of the libraries provided for it can fill books. So, here, I introduce general concepts and typical
examples for the average application programmer, with the main focus on the high-level interfaces.
For any details, especially of the tricky low-level problems and features, please refer to the specific
books and articles mentioned. My first and major recommendation for this whole topic of concurrency
is the book C++ Concurrency in Action by Anthony Williams (see [Williams:C++Conc]).
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
บทที่ 18

ระบบทันสมัยสถาปัตยกรรมมักจะสนับสนุนการใช้หลายงานและหลายหัวข้อในเวลาเดียวกัน

โดยเฉพาะอย่างยิ่งเมื่อแกนประมวลผลหลาย ให้ การ เวลาของโปรแกรมสามารถปรับปรุงเมื่อหลายกระทู้

แต่การใช้ สิ่งในขนานนี้ยังเสนอความท้าทายใหม่ แทนที่จะทำชี้แจง
หลังจากที่อื่น ๆหลายข้อที่สามารถดำเนินการได้พร้อมกัน ซึ่งสามารถส่งผลให้ปัญหาดังกล่าวจากการเข้าถึงทรัพยากร
เป็นเหมือนกัน ดังนั้นการสร้าง , อ่าน , เขียนและลบ
ไม่ใช้สถานที่ในการคิดและเพื่อให้ผลลัพธ์ที่ไม่คาดคิด ในความเป็นจริง การเข้าถึง
ข้อมูลจากหลายกระทู้สามารถกลายเป็นฝันร้าย ที่มีปัญหา เช่น ติดตาย
,ซึ่งกระทู้รอกันและกัน เป็นกรณีง่ายก่อน C .
11 ไม่มีการสนับสนุนพร้อมกันในภาษา c มาตรฐานห้องสมุด
ถึงแม้ว่าการใช้งานได้ฟรีเพื่อให้การันตี กับ ซี 11 นี้มีการเปลี่ยนแปลง
ทั้งหลักภาษาและห้องสมุดได้รับการปรับปรุงเพื่อสนับสนุนโปรแกรมพร้อมกัน ( ดู
ส่วน 4.5 , หน้า 55 ) :
- หลักภาษา ตอนนี้กำหนดหน่วยความจำแบบที่รับประกันว่าข้อมูลที่แตกต่างกันสอง
วัตถุที่ใช้โดยสองหัวข้อที่แตกต่างกันเป็นอิสระของแต่ละอื่น ๆ และมีการแนะนำคำหลักใหม่
thread_local สําหรับการกําหนดตัวแปรที่มีค่าเฉพาะหัวข้อ .
- ห้องสมุดตอนนี้ให้สนับสนุนการเริ่มต้นหลายๆ กระทู้ รวมทั้งผ่านอาร์กิวเมนต์กลับ
ค่า ,และข้อยกเว้นในหัวข้อขอบเขต รวมทั้งวิธีการที่จะประสานหลาย
กระทู้ ดังนั้นเราสามารถประสานทั้งการควบคุมการไหลและการเข้าถึงข้อมูล .
ห้องสมุดมีการสนับสนุนในระดับที่แตกต่างกัน ตัวอย่างเช่นมีอินเตอร์เฟซและช่วยให้คุณ

เริ่มหัวข้อรวมทั้งผ่านอาร์กิวเมนต์ และเผชิญกับผลลัพธ์และข้อยกเว้น ซึ่งขึ้นอยู่กับ
คู่ของคนระดับล่าง ภายใต้แต่ละประเด็นเหล่านี้ บนมืออื่น ๆ นอกจากนี้ยังมีคุณสมบัติระดับ
เช่น mutexes หรือแม้แต่อะตอมเผชิญกับผ่อนคลายคำสั่งหน่วยความจำ .
บทนี้เปิดตัวห้องสมุดองค์ประกอบเหล่านี้ ทราบว่าหัวข้อของการเห็นพ้องด้วยและรายละเอียด
ของห้องสมุดให้สามารถกรอกหนังสือ ดังนั้นที่นี่ฉันแนะนำแนวคิดทั่วไปและโดยทั่วไป
ตัวอย่างสำหรับโปรแกรมเมอร์โปรแกรมปานกลาง เน้นหลักในการเชื่อมต่อระดับสูง
รายละเอียดใด ๆ โดยเฉพาะอย่างยิ่ง ของหากิน มี ปัญหา และคุณลักษณะ กรุณาอ้างถึงหนังสือที่เฉพาะเจาะจง
และบทความที่กล่าวถึง ของฉันแรกและหลักแนวทางของการ
หัวข้อทั้งหมดนี้เป็นหนังสือ C พร้อมกันในการกระทำโดย Anthony Williams ( ดู [ วิลเลียมส์ : C เข้มข้น ] )
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: