上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 30 下一页
摘要: 前面介绍了select处理,这一章继续介绍另外一种I/O多路服用的机制:epoll。来比较下两种机制的不同点。 select: 调用过程如下: (1)使用copy_from_user从用户空间拷贝fd_set到内核空间 (2)注册回调函数__pollwait (3)遍历所有fd,调用其对应的poll 阅读全文
posted @ 2018-09-16 15:20 red_leaf_412 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 一般我们在写socet程序的时候调用的accept,recv等操作都是阻塞型的。意思就是如果我们一直收不到数据那么则会被阻塞。所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回 可是使用Select就可以完 阅读全文
posted @ 2018-09-08 22:55 red_leaf_412 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 记录锁的功能:当一个进程正在读或修改文件的某个部分是,它可以阻止其他进程修改同一文件区。对于这个功能阐述我认为有三点要解释的: 记录锁不仅仅可以用来同步不同进程对同一文件的操作,还可以通过对同一文件加记录锁,来同步不同进程对某一共享资源的访问,如共享内存,I/O设备。 对于劝告性上锁,当一个进程通过 阅读全文
posted @ 2018-09-02 22:13 red_leaf_412 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 定义一个属性可由用户修改的装饰器: 在前面的介绍中使用装饰器来包装函数,这一章来介绍下如何让用户调整装饰器的属性。 首先来看下代码: from functools import wraps,partial import logging def attach_wrapper(obj,func=None 阅读全文
posted @ 2018-09-02 15:31 red_leaf_412 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 在Go语言中,一个类只需要实现了接口要求的所有函数,我们就说这个类实现了该接口 我们定义了一个File类,并实现有Read()、Write()、Seek()、Close()等方法。设 想我们有如下接口: type IFile interface { Read(buf []byte) (n int,e 阅读全文
posted @ 2018-08-28 10:02 red_leaf_412 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 在Go语言中, 你可以给任意类型(包括内置类型,但不包括指针类型)添加相应的办法。示例如下: type Integer int func (a Integer) Less(b Integer) bool{ return a < b func main(){ var a Integer=1 if a. 阅读全文
posted @ 2018-08-26 16:08 red_leaf_412 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 我们想在访问实例的属性时能够将其委托到一个内部持有的对象上,这经常用到代理机制上 class A: def spam(self,x): print("class_A:"+str(x)) def foo(self): pass class B: def __init__(self): self._a= 阅读全文
posted @ 2018-08-19 15:53 red_leaf_412 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 假设一个工程中有多个类,每个类都通过__init__来初始化参数。但是可能有很多高度重复且样式相同的__init__。为了减少代码。我们可以将初始化数据结构的步骤归纳到一个单独的__init__函数中,并将其定义在一个公共的基类中。示例如下: class structre(): fileds=[] 阅读全文
posted @ 2018-08-18 22:23 red_leaf_412 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 8.5 私有属性: 在python中,如果想将私有数据封装到类的实例上,有两种方法:1 单下划线。2 双下划线 1 单下划线一般认为是内部实现,但是如果想从外部访问的话也是可以的 2 双下划线是则无法通过外部访问且不能被继承覆盖 来看下面的这个例子: class B: def __init__(se 阅读全文
posted @ 2018-08-12 21:04 red_leaf_412 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 通常来说,从普通文件读数据,无论你是采用 fscanf,fgets 也好,read 也好,一定会在有限的时间内返回。但是如果你从设备,比如终端(标准输入设备)读数据,只要没有遇到换行符(‘\n’),read 一定会“堵”在那而不返回。还有比如从网络读数据,如果网络一直没有数据到来,read 函数也会 阅读全文
posted @ 2018-08-12 15:53 red_leaf_412 阅读(2200) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 30 下一页