..


ลิงก์ผู้สนับสนุน

การเขียนโปรแกรมพร้อมกันใน POSIX C

บทความเขียนโดย Mark Frison
หน้า 1 จาก 5

ทุกระบบปฏิบัติการที่ทันสมัย​​ใช้เวลาปีจะเป็นรูปแบบของการจัดการกระบวนการหลายเป็นกำหนดเวลาดำเนินการและพื้นที่หน่วยความจำให้กับโปรแกรมต่างๆที่ทำงานพร้อมกัน ในปีล่าสุดส่วนใหญ่เนื่องจากการแพร่หลายของการสื่อสารเครือข่ายที่แนวคิดนี้ได้รับการขยายไปยังซอฟแวร์แต่ละหารลำธารเดียวกันกระบวนการของการควบคุมหลายหัวข้อเหล่านั้น นี้วิธีการใหม่นำการเปลี่ยนแปลงอย่างมากกับโครงสร้างของซอฟแวร์ทั้งในทฤษฎีและในทางปฏิบัติเช่นเคยเกิดขึ้น modularity และการแสดงออกจะได้รับเงินในแง่ของความซับซ้อนของซอฟต์แวร์ที่เพิ่มขึ้น

ภาษาการเขียนโปรแกรมล่าสุดจาก Java, ทั้งหมดเสนอ APIs พื้นเมืองสำหรับการสร้างและการจัดการหัวข้อ; ระบบขึ้นอยู่กับเครื่องเสมือนเช่น Java และ C # นักพัฒนาที่มีระดับของนามธรรมที่สอดคล้องกับปัญหานี้และอื่น ๆ ทั้งหมด ต้องพึ่งพาพื้นฐานของระบบปฏิบัติการที่มักจะเกิดขึ้นปัญหาในการพกพาของรหัส ในบริบทนี้ห้องสมุดเป็นส่วนหนึ่งของ POSIX หัวข้อ (pthreads) เพื่อให้นักพัฒนา C นอกจากนี้ยังมีการรับประกันขั้นต่ำในการพกพาระหว่างระบบที่แตกต่างกัน

เบื้องต้น

บทความนี้มีวัตถุประสงค์ที่จะทุกคนที่ต้องการวิธีการที่หัวข้อของการเขียนโปรแกรมพร้อมกันในภาษาระดับต่ำ ในงานนำเสนอนี้อนุมานว่าผู้อ่านมีมาแล้วความรู้พื้นฐานของภาษา C จะไม่ถูกถือว่าเป็นหัวข้อพื้นฐานเช่น, ตัวอย่างเช่นการจัดการหน่วยความจำและชนิดข้อมูล

POSIX ห้องสมุดด้าย

ได้อย่างง่ายดายเดาได้จากชื่อที่ POSIX ห้องสมุดด้ายเป็นส่วนหนึ่งของชุดของ POSIX (อินเตอร์เฟซการใช้งานแบบพกพาระบบ [สำหรับ Unix]) อ้างถึงคำนิยามของ pthread"[...] ระบุชุดของอินเตอร์เฟซ (หน้าที่ส่วนหัวของไฟล์) สำหรับกระบวนการการเขียนโปรแกรม threaded เพื่อ [...] เดียวสามารถมีหลายกระทู้ทั้งหมดที่รันโปรแกรมการตรวจสอบ [...] ส่วนแบ่งหน่วยความจำเดียวกันทั่วโลก (ข้อมูลและกลุ่มกอง) แต่แต่ละหัวข้อที่มีสแต็คของตัวเอง." ข้อความที่ตัดตอนมานี้อธิบายว่าสิ่งที่มีส่วนเกี่ยวข้องในการเขียนโปรแกรม multi - in หัวข้อ POSIX :

  • กระแสการควบคุมหลาย ๆ (กระทู้) เป็นกระบวนการเดียว;
  • ใช้งานร่วมกันของหน่วยความจำที่มีรหัส (กลุ่มข้อมูล) และหน่วยความจำแบบไดนามิก (ส่วนกอง);
  • สแต็คส่วนตัว
อะไรไม่ได้ทำให้ชัดเจนคือสถานะของระเบียนโดยเฉพาะอย่างยิ่งเช่นตัวชี้สอนขั้นพื้นฐานและตัวชี้สแต็คเพื่อให้เราระบุว่าระเบียนทั้งหมดเป็นอย่างเคร่งครัดส่วนตัวถึงแต่ละหัวข้อและบันทึก / เรียกคืนเมื่อไหลของการควบคุมที่มีการเปลี่ยนจาก ระหว่างหัวข้อ (สลับด้าย)

การใช้มาตรฐาน POSIX ให้ระดับสูงของการรวมในทุกระบบ POSIX ตามเช่น, ตัวอย่างเช่น GNU / Linux, Mac OSX, BSD และแม้กระทั่งหน้าต่าง (มีเพิ่มเติมบางส่วน) ตลอดบทความนี้เราจะอ้างถึงการใช้จาก GCC ภายใต้ GNU / Linux ของหลักสูตรการพิจารณาทั้งหมดจะถูกยกยอดไปที่ใดสภาพแวดล้อม POSIX - อื่น ๆ เช่น

ตัวอย่าง (ที่ไม่ถูกต้อง) ก่อนอื่น

ห้องสมุด pthread.h ให้ทุกอย่างที่คุณต้องการสำหรับการเขียนโปรแกรมในหัวข้อที่หลายแทนที่จะทำให้รายชื่อของ primitives เพียงที่มีให้เราจะนำเสนอเป็นตัวอย่างในทางปฏิบัติจากตลอดเวลาโดยการอภิปรายความแตกต่างของ

เพื่อพิจารณาปัญหาที่เกิดขึ้นต่อไปนี้ : โปรแกรมจะต้องอ่านจากโอนเงินผ่านธนาคารหลายไฟล์ของการเลือกและ / หรือเงินฝากที่จะทำเพื่อบัญชีแล้วไฟล์เหล่านี้จะมีรูปแบบดังต่อไปนี้






 +120







 -550







 +896







 +5541







 -85







 ...



เพื่อเพิ่มความเร็วในหัวข้อ"แคชเชียร์"ที่แตกต่างกันทำงานในแต่ละไฟล์เดียวและบัญชีลูกค้าพร้อมปรับปรุงของเราดำเนินงานทั้งหมดที่อยู่ในสถานะการส่งออกของบัญชีที่

ในประเภทเดียวกัน ...
E - Learning
Javascript (หลักสูตร) Javascript (หลักสูตร)
คู่มือที่สมบูรณ์ในการเขียนสคริปต์ฝั่งไคลเอนต์ จาก 39 €
Ruby และ Ruby on Rails (หลักสูตร) Ruby และ Ruby on Rails (หลักสูตร)
สร้างโปรแกรมซอฟต์แวร์และเว็บด้วยทับทิมและ ร. จาก 39 €
Webmaster ขั้นสูง (หลักสูตร) Webmaster ขั้นสูง (หลักสูตร)
กลายเป็นเว็บมาสเตอร์มืออาชีพ จาก 39 €
ลิงก์ผู้สนับสนุน