四时宝库

程序员的知识宝库

Linux学习笔记-文件属性(linux文件属性与用户权限)

Linux下的文件有着不同的分类和不同的属性,在操作过程中可以使用对应的函数获取文件的属性信息:

第一个函数:stat

函数头文件:

高级IO模型之kqueue和epoll(epoll io模型)

简介

任何一个程序都离不开IO,有些是很明显的IO,比如文件的读写,也有一些是不明显的IO,比如网络数据的传输等。那么这些IO都有那些模式呢?我们在使用中应该如何选择呢?高级的IO模型kqueue和epoll是怎么工作的呢?一起来看看吧。

IO 多路复用(IO多路复用模型)

这篇文章总结了常见的 IO 多路复用机制,主要包括 IO 模型、IO 多路复用接口概览、epoll 细节(触发模式、定时器、惊群问题等),Java 上的多路复用实现,Netty 怎么使用 epoll 等内容。

IO 模型

IO 模型相关内容主要参考自:The Sockets Networking API:Unix Network Programming Volume1 第三版第六章,以下 IO 模型说明图均拷贝自该书的 Oreilly Safari 版。

谈谈Linux epoll惊群问题的原因和解决方案

近期排查了一个问题,epoll惊群的问题,起初我并不认为这是惊群导致,因为从现象上看,只是体现了CPU不均衡。一共fork了20个Server进程,在请求负载中等的时候,有三四个Server进程呈现出比较高的CPU利用率,其余的Server进程的CPU利用率都是非常低。

中断,软中断都是均衡的,网卡RSS和CPU之间进行了bind之后依然如故,既然系统层面查不出个所以然,只能从服务的角度来查了。

PEP572:赋值表达式(海象符)(海象运算符)


阅读 PEP 是理解 Python 特性的绝好方式。Python 3.8 引入了赋值表达式,它是什么?怎么用?有什么限制?话不多说,直接看 PEP。


Linux编程入门(7)-目录与文件的特殊属性

回顾

前面两篇文章学习了目录和文件的相关属性。

c# 10 教程:24 本机和 COM 互操作性


本章介绍如何与本机(非托管)动态链接库 (DLL) 和组件对象模型 (COM) 组件集成。除非另有说明,否则本章中提到的类型存在于 System 或 System.Runtime.InteropServices 命名空间中。

线程池的设计,一篇就够(线程池的用法)

文章大纲:

  • 为什么需要线程池
  • 条件变量结合互斥锁 + 任务队列
  • eventfd + epoll的设计
  • eventfd + epoll + 多队列的设计
  • Lock-free的设计
  • 线程池的大小多少合适

AQS中acquire的中断(aqs 中断)

在JUC中的ReentrantLock的尝试获得锁有两种方式,分别是:

1.不响应中断

    public final void acquire(int arg) {
        if (!tryAcquire(arg) &&
            acquireQueued(addWaiter(Node.EXCLUSIVE), arg))
            selfInterrupt();
    }

第六章 系统管理工具(续三)(系统管理主要包括哪些内容?)

6.10 任务自动化

Linux系统支持一些能够自动执行任务的服务,我们称其为任务自动化

在 Linux 中,任务可以被配置在指定的时间段、指定的日期、或系统平均载量低于指定的数量时自动运行。Redhat Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新。譬如,被 locate 命令使用的 slocate 数据库每日都被更新。系统管理员可使用自动化的任务来执行定期备份、监控系统、运行定制脚本等等。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接