分类目录归档:programming

进程、线程与协程

进程

进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例

程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配 CPU 时间,然后程序开始真正运行

Linux 系统函数 fork() 可以在父进程中创建一个子进程:

import os

print('当前进程:%s 启动中 ....' % os.getpid())
pid = os.fork()
if pid == 0:
    print('子进程:%s,父进程是:%s' % (os.getpid()

Read more

上下文无关语法 CFG

上下文无关文法(context-free grammar,CFG):

  • CFG 是一种形式语言的描述方式,用于描述一类语言结构,其中语言中的句子可以被分解为符号串,这些符号串是由一组规则递归定义的
  • 上下文无关文法重要的原因在于它们拥有足够强的表达力来表示大多数程序设计语言的语法;实际上,几乎所有程序设计语言都是通过上下文无关文法来定义的。
  • 另一方面,上下文无关文法又足够简单,使得我们可以构造有效的分析算法来检验一个给定字符串是否是由某个上下文无关文法产生的

CFG的形式化定义可以表示为一个四元组 $G=(V,T,P,S)$

  • 其中 $V$ 是非终结符号(即可以继续分解的符号)的集合,$T

Read more

常见配置文件格式

1 INI ⭐⭐⭐

INI:Initialization file的格式,最初为Windows系统中的基础配置文件格式

INI格式作为早期常见的配置文件格式,通常由节(Section)、键(key)和值(value)组成

缺点:不适合复杂的格式或多嵌套的情况

[localdb]  
host = 127.0.0.1  
user = root  
password = 123456  
port = 3306  
database = mysql

Python内置con

Read more

强类型与弱类型

1 定义

强类型语言是一种强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就死该数据类型。而弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过现行强制转换。

2 语言分类

强类型语言包括:Java、.net、Python、C++等语言。其中Python是动态语言,是强类型定义语言,是类型安全的语言,Java是静态语言,是强类型定义语言,也是;类型安全的语言;

弱类型语言包括:VB,PHP,JavaScript等语言。其中VBScript是动态语言,是一种类型不安全的原

Read more