解释器模式
# 解释器模式 属于行为型模式。 给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。 适用性: 如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。 当有一个语言需要解释执行,并且你可以将该语言中的句子表示为一个抽象语法树时,可以使用解释器模式。 易扩展,易于实现简单文法。 对于复杂的文法比较难维护和管理。当文法非常复杂时建议使用其他的技术(语法分析程序或编译生成器) # 类图 # 代码 # 解释器 namespace...
more...CSharp多线程
# CSharp 多线程 每一个运行的程序是一个进程,每个进程可以有一个或者多个线程。 在单核系统的一个单位时间内 ,CPU 只能运行单个线程,运行顺序取决于线程的优先级。如果在单位时间内线程未能完成执行,系统就会把线程的状态信息保存到线程的本地储存器(TLS)中,以便下次执行时恢复执行。因为 CPU 的处理速度很快,所以我们感知不到停顿。因为切换频密,所以多线程可被视作同时运行,而实际上这是假象。 在多核系统的一个单位时间内,进程或线程可以在不同的 CPU 中运行,实现真正的并行处理。 # 线程生命周期 线程生命周期开始于 System.Threading.Thread...
more...CSharp网络编程
# Socket Socket(计算机术语为:套接字)是计算机网络编程中的一种通信机制,使网络上的两个程序通过一个双向的通信连接实现数据的交换。它是一个抽象层,提供了一套标准的接口,使得应用程序可以通过这套接口与网络通信协议进行交互,实现数据传输和共享。 在网络编程中,Socket 通常被用来实现客户端和服务端之间的通信。客户端通过 Socket 连接到服务端,并向服务端发送数据请求,服务端接收请求并处理后,再将结果返回给客户端。这种通信方式可以用于实现各种不同类型的网络应用程序,如 Web 服务器、聊天软件、在线游戏等。 Socket...
more...








