2011-12-24 25 views
8

Có vẻ như đã có một số triển khai luồng, như tôi đã nhận thấy có Bordeaux Threads, Portable-Threads và 《Sách nấu ăn Lisp chung》 cũng cung cấp cách để triển khai nhiều chủ đề, gói mp mà tôi không biết làm thế nào để liên quan đến nó trong chương trình của tôi, tôi không thể tìm thấy gói này.Làm thế nào để thực hiện Multi-Threads trong Common Lisp

Vấn đề là làm thế nào tôi có thể chọn một thư viện đa chủ đề phù hợp để đáp ứng nhu cầu của tôi, vì tôi cũng là một lập trình viên C, nó tốt hơn như pthread, nhưng nó không quan trọng, tôi tự hỏi nó được sử dụng nhiều nhất thư viện nhiều chủ đề, hoặc cách thường xuyên để lập trình đa luồng trong Common Lisp là gì.

Trả lời

7

Theo Quicklisp stats for November chủ đề bordeaux được sử dụng nhiều nhưng không thấy chủ đề di động hoặc bất kỳ triển khai nào khác. Vì vậy, tôi đoán bạn có thể thử nó và xem nếu nó đáp ứng nhu cầu của bạn và tìm kiếm một thực hiện khác nếu nó không.

Tôi chưa sử dụng nó nhưng tôi thấy nó dễ sử dụng và API documentation là khá rõ ràng.

+0

Cảm ơn, tôi sẽ thử các chủ đề bordeaux, tài liệu API của nó thực sự rõ ràng. –

7

Trên thực tế, tiêu chuẩn phân luồng thực tế cho Common Lisp là Bordeaux Threads (bt), là một lớp khả chuyển trên luồng API của các triển khai khác nhau.

mp (viết tắt của đa xử lý) là cách API luồng được gọi trong LispWorks (và, nếu tôi không nhầm, Franz CL). Bạn có thể sử dụng nó trực tiếp (giống như sb-thread trong SBCL), nếu bạn đang phát triển cho một số triển khai cụ thể hoặc bạn có thể dựa vào bt, nếu bạn nhắm đến tính di động trên tất cả các triển khai hiện đang hoạt động với hỗ trợ luồng (CLISP không có nó tại tất cả các).

+0

Tôi không chắc liệu có lỗi chính tả bạn nói về LispWords hay không, tôi chỉ nghe nói về LispWorks, đó là một triển khai thương mại, có lẽ tôi không thể sử dụng nó để phát triển, vì tôi không đủ khả năng giá cao của LispWorks, Tôi muốn thử Bordeaux Threads vì rất nhiều người sử dụng nó, cảm ơn. –

+0

Có, LispWorks là một trong những triển khai CL thương mại. Nó cũng có một phiên bản miễn phí giới hạn, được gọi là Ấn bản cá nhân. –

Các vấn đề liên quan