Rust 程序设计语言 简体中文版 1.85.0这样所有这些改变都是安全的并符合借用规则。 哈希函数 HashMap 默认使用一种叫做 SipHash 的哈希函数,它可以抵御涉及哈希表(hash table) 的 拒绝服务(Denial of Service, DoS)攻击。然而这并不是可用的最快的算法,不过为了更高的 安全性值得付出一些性能的代价。如果性能监测显示此哈希函数非常慢,以致于你无法接受, 你可以指定一个不同的 hasher 来切换为其它函数。hasher behavior)。你会得到任何 对应数据结构中这个元素的内存位置的值,甚至是这些内存并不属于这个数据结构的情况。这 被称为 缓存区过读(buffer overread),并可能会导致安全漏洞,比如攻击者可以像这样操作 索引来读取储存在数据结构之后未经授权的数据。 为了保护程序不受此类漏洞的影响,如果尝试读取一个索引不存在的元素,Rust 会停止执行 并拒绝继续。让我们来试一试,看看结果: $ 程处理完任务时,它会返回空闲线程池中等待处 理新任务。线程池允许我们并发处理连接,提高服务端的吞吐量。 我们会将池中线程限制为较少的数量,以防拒绝服务(Denial of Service,DoS)攻击;如果 程序为每一个接收的请求都新建一个线程,某人向服务端发起千万级的请求时会耗尽服务器的 资源并导致请求处理陷入停滞。 不同于分配无限的线程,线程池中将有固定数量的等待线程。当新进请求时,将请求发送到线0 码力 | 562 页 | 3.23 MB | 28 天前3
共 1 条
- 1













