C/S 随思录
1. 进程与线程
打开任务管理器,看“进程”一页。
这里,QQ是一个软件,但是它只有1个进程。
然而,Edge 浏览器也是一个软件,但是它开了34个进程(多进程软件)。
线程是进程内的子一级任务处理单元。
逻辑关系:
线程 ∈ 进程 ∈ 软件
通常,初学软件开发写的 Hello World
程序,至少在运行那一刻,都是进程,也叫软件,此时你写的 Hello World
只有一个软件,一个进程,一个线程。
2. 通信
进程的通信是一门学问了,讲通俗一点,我开发了软件A是客户端,你开发了提供服务的软件B是服务API,我如何调用呢?
最简单的就是应用层的 HTTP 协议了,要是乐意的话,用 Socket 也可以。
当然用 TCP 也不是不可以。
3. 客户端与服务端
C/S模式,客户端形式很多,GUI程序,命令行程序等
如果客户端是一个浏览器,那就是 B/S模式了,B就是Browser.
用一些技术可以把客户端和服务端集成在一起。
例如,使用 WPF 技术,做一个 客户端进程
使用 ASP.NET 技术,做一个 WebAPI, 即 服务端进程
最后,包装成一个 软件
这个软件也许有多个 exe (在Windows下),但是总有一个 主 程序,管理着所有的进程。