From 2d67cfd3d41c229aeab66b1a4b681a5560e4d8f7 Mon Sep 17 00:00:00 2001 From: GitFuture <752736341@qq.com> Date: Wed, 11 Oct 2017 14:28:42 +0800 Subject: [PATCH 1/3] Translating... Concurrent servers --- .../tech/20171002 Concurrent Servers Part 1 - Introduction.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources/tech/20171002 Concurrent Servers Part 1 - Introduction.md b/sources/tech/20171002 Concurrent Servers Part 1 - Introduction.md index c6a6983b37..d2efe488a2 100644 --- a/sources/tech/20171002 Concurrent Servers Part 1 - Introduction.md +++ b/sources/tech/20171002 Concurrent Servers Part 1 - Introduction.md @@ -1,6 +1,8 @@ [Concurrent Servers: Part 1 - Introduction][18] ============================================================ +GitFuture is Translating + This is the first post in a series about concurrent network servers. My plan is to examine several popular concurrency models for network servers that handle multiple clients simultaneously, and judge those models on scalability and ease of implementation. All servers will listen for socket connections and implement a simple protocol to interact with clients. All posts in the series: From f941b00a8a6dcacdc961a1bdcfd67f3f053f1d91 Mon Sep 17 00:00:00 2001 From: GitFuture <752736341@qq.com> Date: Wed, 11 Oct 2017 14:29:13 +0800 Subject: [PATCH 2/3] Translating... Concurrent servers -2 --- sources/tech/20171004 Concurrent Servers Part 2 - Threads.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sources/tech/20171004 Concurrent Servers Part 2 - Threads.md b/sources/tech/20171004 Concurrent Servers Part 2 - Threads.md index e24ef5e8dd..655c7ea3da 100644 --- a/sources/tech/20171004 Concurrent Servers Part 2 - Threads.md +++ b/sources/tech/20171004 Concurrent Servers Part 2 - Threads.md @@ -1,5 +1,8 @@ [Concurrent Servers: Part 2 - Threads][19] ============================================================ + +GitFuture is Translating + This is part 2 of a series on writing concurrent network servers. [Part 1][20] presented the protocol implemented by the server, as well as the code for a simple sequential server, as a baseline for the series. In this part, we're going to look at multi-threading as one approach to concurrency, with a bare-bones threaded server implementation in C, as well as a thread pool based implementation in Python. From aec90d07ab4fb5adff3676205e65d28d9ebecdd5 Mon Sep 17 00:00:00 2001 From: GitFuture <752736341@qq.com> Date: Wed, 11 Oct 2017 14:29:46 +0800 Subject: [PATCH 3/3] Translating... Concurrent servers -3 --- .../tech/20171006 Concurrent Servers Part 3 - Event-driven.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources/tech/20171006 Concurrent Servers Part 3 - Event-driven.md b/sources/tech/20171006 Concurrent Servers Part 3 - Event-driven.md index dc8e1ebb75..4fb433c9cb 100644 --- a/sources/tech/20171006 Concurrent Servers Part 3 - Event-driven.md +++ b/sources/tech/20171006 Concurrent Servers Part 3 - Event-driven.md @@ -1,6 +1,8 @@ [Concurrent Servers: Part 3 - Event-driven][25] ============================================================ +GitFuture is Translating + This is part 3 of a series of posts on writing concurrent network servers. [Part 1][26] introduced the series with some building blocks, and [part 2 - Threads][27] discussed multiple threads as one viable approach for concurrency in the server. Another common approach to achieve concurrency is called  _event-driven programming_ , or alternatively  _asynchronous_  programming [[1]][28]. The range of variations on this approach is very large, so we're going to start by covering the basics - using some of the fundamental APIs than form the base of most higher-level approaches. Future posts in the series will cover higher-level abstractions, as well as various hybrid approaches.