123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778var http = require('http')var fs = require('fs')var path = require('path')var mime =...

# Need test func src/fn.js 1234module.exports = { num1: n => parseInt(n), num2: n => Number(n)} src/math.js 123456789101112131415161718192021222324function sumOne(a, b) { const c = 1 return a + b + c}module.exports = { add: (...args)...

# 异步 IO 当代码需要执行一个耗时的 IO 操作时,它只发出 IO 指令,并不等待 IO 结果,然后就去执行其他代码了。一段时间后,当 IO 返回结果时,再通知 CPU 进行处理。 异步 IO 模型需要一个消息循环,在消息循环中,主线程不断地重复 "读取消息 - 处理消息" 这一过程: 12345loop = get_event_loop()while True: event = loop.get_event() process_event(event) 消息模型其实早在应用在桌面应用程序中了。一个 GUI...

# GIL GIL global interpreter lock (cpython),python 中一个线程对应 C 语言的一个线程 GIL 使得同一时刻只有一个线程在一个 CPU 上执行,无法将多个线程映射到多个 CPU 上执行 GIL 会根据执行的字节码行数以及时间片释放 GIL ,在遇到 IO 操作时也会主动释放 运行 12345678910import threading, multiprocessingdef loop(): x = 0 while True: x = x ^ 1for i in range(multiprocessing.cpu_count()): t =...

# 浏览器请求动态 web 页面过程 # WSGI WSGI:Web Server Gateway Interface。 WSGI 接口定义非常简单,它只要求 Web 开发者实现一个函数,就可以响应 HTTP 请求。 123def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/html')]) return [b'Hello,...