2015-04-29 15 views
19

Trong quá trình học Nim, tôi hiện đang nghiên cứu các phương pháp tiếp cận của Nim để lập trình đồng thời. Tôi đã thấy một vài ý kiến ​​về những hạn chế của một bộ sưu tập rác cục bộ (ví dụ: herethere), nhưng tôi vẫn chưa thấy được tất cả các tác động của điều này.Các mẫu phổ biến để làm việc xung quanh các giới hạn của gc thread-local?

Tôi tự hỏi liệu có một số loại "mẫu thiết kế" được thiết lập tốt trong Nim cách giải quyết những hạn chế này không? Có lẽ có thể xem xét một ví dụ điển hình yêu cầu chia sẻ/tương tác giữa các luồng và để hiển thị các giải pháp thành ngữ có thể có cho một vấn đề như vậy?

nỗ lực của riêng tôi để đưa ra các giải pháp tốt cho điều này đã không thực sự thành công cho đến nay và đã dẫn đến điều này more specific question about TChannel.

Trả lời

1

Câu trả lời thực sự rộng rãi là: Điều này dường như đi ngược lại các nguyên tắc thiết kế của Nim. Nim hoàn toàn tránh được bất kỳ vấn đề chia sẻ/tương tác giữa các luồng bằng cách loại bỏ đó là một khả năng. Nguyên tắc thiết kế không "ngừng thế giới". Việc xây dựng thông điệp không đồng bộ đi qua phải đủ.

Những giới hạn nào được đề cập trong các bài viết được tham chiếu dường như là những hạn chế trong thiết kế hoặc cách tiếp cận các vấn đề.

Cũng trong thời gian trôi qua kể từ khi bạn đăng câu hỏi này, tôi thấy rằng đã có câu trả lời cho câu hỏi TChannel được liên kết. Điều này có giải quyết được sự cố của bạn không?

@ bluenote10 Bạn có thể xác định rõ hơn loại vấn đề mình đang gặp phải không? Cách nó có vẻ như bây giờ câu hỏi này là thực sự rộng. Xin lỗi, tôi không có đại diện trả lời trực tiếp cho bạn.

+0

_các giới hạn [...] có vẻ là hạn chế trong thiết kế hoặc cách tiếp cận các vấn đề._ Vì vậy, câu hỏi sẽ trở thành: Thiết kế/cách tiếp cận nào sẽ tránh được những hạn chế? Tôi không yêu cầu một vấn đề cụ thể. Ý tôi là "mẫu thiết kế" là một loại phân loại các vấn đề tương tranh phổ biến và hướng dẫn cách tiếp cận chúng trong Nim. – bluenote10

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