C# – Giao tiếp giữa các process bằng Pipe Stream (Inter-process communication)

Giới thiệu

Trong lập trình, khái niệm Pipe có thể được hiểu một luồng có chức năng truyền tải dữ liệu giữa các processs. Pipe được chia thành hai loại:
 Anonymous Pipe: cho phép giao tiếp trong máy tính cục bộ. Loại pipe này sử dụng ít thời gian xử lý hơn Named Pipe nhưng ít chức năng hơn. Anonymous Pipe chỉ truyền tài được một chiều, không sử dụng được thông qua mạng và thường dùng để tạo kênh giao tiếp giữa các thread hay giữa các process cha/con.

– Named Pipe: hoạt động theo mô hình server/client. Named Pipe hỗ trợ giao tiếp hai chiều và có thể hoạt động thông qua mạng.

Advertisements

C# – Tìm hiểu về Lambda Expression (Biểu thức Lambda)

Có thể nói so với anonymous method, lambda expression được coi là một sự cái tiến đáng giá từ phiên bản C# 2.0 lên C# 3.0. Khi dùng anonymous method, bạn có thể tạo các hàm in-line nhằm hạn chế việc khai báo các hàm riêng lẻ không cần thiết, giúp mã lệnh ngắn gọn hơn. Nay với lambda expression, bạn có thể viết ngắn gọn và dễ dàng hơn nhờ việc cung cấp toán tử và cú pháp mới, đồng thời thể hiện sự “thông minh” của compiler bằng cách tự nhận diện kiểu của dữ liệu. Ngoài ra, đây còn là kĩ thuật để tạo ra các kiểu expression tree mà ta sẽ bàn tới khi có dịp.

1. Gii thiu

Nếu chưa có khái niệm về gì về anonymous method, bạn có thể đọc bài hướng dẫn của tôi tại đây, việc này sẽ giúp bạn tiếp cận dễ dàng hơn những vấn đề sẽ được trình bày trong bài này. Ta có thể hình dung sự cải tiến kĩ thuật từ delegate đến lambda expression theo 3 bước:

–          Delegate

–          Anonymous method

–          Lambda expression

Vì thế hãy chuẩn bị những kiến thức nền tảng trước khi tiếp tục