书栈网 · BookStack 本次搜索耗时 0.026 秒,为您找到 216955 个相关结果.
  • 原子操作

    原子操作 编译器重排 硬件重排 数据访问 顺序一致性 获取-释放 Relaxed 原文链接:https://doc.rust-lang.org/nomicon/atomics.html 原子操作 Rust臭不要脸地抄袭了C11关于原子操作的内存模型。这么做并不是因为这个模型多么的优秀或者易于理解。事实上,这个模型非常的复杂,而且有一些...
  • 12.5 防止死锁的加锁机制

    12.5 防止死锁的加锁机制 问题 解决方案 讨论 12.5 防止死锁的加锁机制 问题 你正在写一个多线程程序,其中线程需要一次获取多个锁,此时如何避免死锁问题。 解决方案 在多线程程序中,死锁问题很大一部分是由于线程同时获取多个锁造成的。举个例子:一个线程获取了第一个锁,然后在获取第二个锁的时候发生阻塞,那么这个线程就可能阻塞其他线...
  • Reactor线程

    Reactor线程 TCP和UDP的差异 Reactor线程 Swoole的主进程是一个多线程的程序。其中有一组很重要的线程,称之为Reactor线程。它就是真正处理TCP连接,收发数据的线程。 Swoole的主线程在Accept新的连接后,会将这个连接分配给一个固定的Reactor线程,并由这个线程负责监听此socket。在socket可读时读...
  • Sentinel 与 Hystrix 的对比

    Overview 共同特性 资源模型和执行模型上的对比 隔离设计上的对比 熔断降级对比 实时指标统计实现对比 Sentinel 的特色 轻量级、高性能 流量控制 系统负载保护 实时监控与控制面板 生态 总结 Sentinel 是阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件,主要以流量为切入点,从流量控制、熔...
  • 异步文件系统IO

    异步文件系统IO 冲突问题 异步文件系统IO Swoole 异步文件读写基于线程池同步IO 模拟实现,文件读写请求投递到任务队列,然后由AIO 线程读写文件,完成后通知主线程。 可使用swoole_async_set 函数设置AIO 线程数量,提高处理能力。请注意底层会在每个工作进程中分别创建AIO 线程,因此假设设置了worker_num = ...
  • 优化

    优化 前言 常规 CPU GPU 2D 3D 多线程 优化 前言 Godot遵循平衡的表现理念. 在效率表现中, 总是有需要权衡交易的东西, 可用性和灵活性. 一些实际的示例是: 有效地渲染大量的物体是很容易的, 但是当必须渲染一个大的场景时, 效率就会变得很低. 为了解决这个问题, 必须在渲染时加入可见性计算. 这使得渲染的效率降...
  • 4 event_base

    4329 2019-05-17 《Libevent 深入浅出》
    4 event_base 4 event_base 本章主要来源《libevent参考手册(中文版)》。 使用 libevent 函数之前需要分配一个或者多个 event_base 结构体。每个 event_base 结构 体持有一个事件集合,可以检测以确定哪个事件是激活的。 如果设置 event_base 使用锁,则可以安全地在多个线程中...
  • 多进程化

    1038 2019-01-23 《mongols 文档手册》
    多进程化 子进程重启 注意 多进程化 mongols提供的所有服务器设施既可以多线程化也可以多进程化。 并且支持在多进程化的同时多线程化。 来看代码: # include <unistd.h> # include <sys/wait.h> # include <sys/signal.h> # i...