Tags:
Node Thumbnail

ความสามารถที่หลายๆ คนไม่ค่อยพูดถึงกันของ OS X 10.6 (Snow Leopard) คือ Grand Central Dispatch (GCD) โดยที่ตัวมันเองนั้นคือเฟรมเวิร์คสำหรับการเขียนโปรแกรมเพื่อรองรับซีพียูมัลติคอร์ เช่นเดียวกับ Intel TBB, OpenMP และเฟรมเวิร์คแบบอื่นๆ อีกมาก แต่การควบคุมทั้งฮาร์ดแวร์, ระบบปฎิบัติการ, และซอฟต์แวร์พัฒนา ก็ทำให้ GCD น่าสนใจสำหรับนักพัฒนาซอฟต์แวร์บน OS X พอสมควร

ข่าวดีคือ GCD โอเพนซอร์สภายใต้สัญญาอนุญาตแบบ Apache 2.0 ทำให้ระบบปฎิบัติการอื่นนำเฟรมเวิร์คนี้ไปใช้งานได้

การจะให้วินโดวส์รองรับ GCD ตั้งแต่การติดตั้งครั้งแรกคงยากสักหน่อย แต่สำหรับลินุกซ์ที่เป็นระบบปฎิบัติการตระกูล POSIX เหมือนๆ กันแล้วก็มีความเป็นไปได้สูงที่จะมีบางดิสโทรรองรับ GCD ในอนาคต อย่างน้อยก็น่าจะติดตั้งเพิ่มได้โดยง่าย

GCD นั้นไปขยายความสามารถของภาษา C/C++ และ Objective-C ให้รองรับส่วนของภาษาที่เรียกว่า Block คล้ายกับ lambda ในภาษา Python และระบบจัดส่ง Block เข้าไปยังคิวเพื่อไปทำงานในเธรดอีกทีหนึ่ง

ส่วนที่สำคัญของ GCD คือ XCode นั้นรองรับการแสดงผลการทำงานของ GCD ค่อนข้างชัดเจน เช่นการดูว่า Block ใดเข้าไปยังเธรดใดบ้าง ในส่วนนี้ยังไม่ชัดเจนว่าจะมีการโอเพนซอร์สสออกมาด้วยหรือไม่

ที่มา - The Register

Get latest news from Blognone