V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Nitroethane  ›  全部回复第 1 页 / 共 42 页
回复总数  839
1  2  3  4  5  6  7  8  9  10 ... 42  
2 天前
回复了 flycloud 创建的主题 Docker docker 容器时间
刚看了下 faketime 这个库,修改系统时间的原理是通过首先加载 libfaketime.so 共享库实现对时间相关系统调用的劫持。所以 libfaketime.so 共享库要先于 c 库加载才能实现劫持,也就是 faketime readme 中 usage 部分最开始提到的通过 LD_PRELOAD 实现劫持的方法。

至于为什么两个程序,一个可以一个不可以,你提供的信息太少,没法判断。
另外,docker 目前好像不支持 time namespace
6 天前
回复了 firejoke 创建的主题 Python 关于 asyncio 执行 IO 密集型操作的不解
@firejoke 如果读取文件速度比较慢,而且文件比较大的话影响应该比较明显
7 天前
回复了 perror 创建的主题 问与答 golang grpc 为何会造成内存泄露?
bufPool.Put() 方法之前应该把 bytes.Buffer reset 一下。还有压缩数据那块不知道你怎么写的,可能也存在问题
7 天前
回复了 yezheyu 创建的主题 程序员 最近在学操作系统,关于 IO 一点疑问
既然正在学操作系统,应该明白用户态进程是通过操作系统提供的系统调用与所需要的系统资源进行交互的。所以首先应该明确,迅雷下载一个文件的过程中与 i/o 相关的系统调用是什么。
“自己阻塞让出 CPU 执行权限”:当一个进程调用了阻塞的系统调用时,如果相应的资源没有准备好,那么这个进程就会被内核挂起,扔进等待队列里。当资源准备好后,内核会把进程扔进就绪队列,等待进程调度器调度进程继续运行。
“DMA 通过中断通知 CPU 唤醒迅雷进程”:硬件只能通过中断告诉内核数据准备好了。
我没了解过 Windows ,反正 Linux 上 I/O 相关的内核缓冲区对用户态进程是透明的。
有一说一,这玩意有啥用,我好几天都看不见一次空白桌面,除非重启机器
8 天前
回复了 iyear 创建的主题 Go 编程语言 关于 accept interfaces, return structs
最近在看 docker 源码,这种设计挺普遍的,方法的返回值类型是 interface ,实际 return 的是实现了 interface 的结构体实例。我觉着这种思路挺好啊,对外部屏蔽内部的实现细节
interface 类型的变量能保存实现了这个 interface 的结构体实例
10 天前
回复了 18870715400 创建的主题 Python 多进程传递进去的值没有生效。
@ClericPy 我主要是很长时间没写过 Python 了,一直写的 go ,而且以前写 Python 的时候学了一阵协程愣是没搞懂,然后就扔下了。直到最近翻了下流畅的 Python 里关于协程的部分才通透了。
我用多进程的时候就是 Manager 那一套,先创建 Manager ,然后用 Manager 创建 Queue ,通过这个 Queue 在进程和线程之间传递数据。等后面有时间再 all-in 协程了
10 天前
回复了 18870715400 创建的主题 Python 多进程传递进去的值没有生效。
@ClericPy #6 同感,在 python 里搞多线程 /多进程纯粹是自讨苦吃。最近接手一个老项目,多进程套多线程,而且还是 python2 的,给我搞吐了。幸亏项目不大,迁移到 3.9 加部分重构花了三天时间
10 天前
回复了 18870715400 创建的主题 Python 多进程传递进去的值没有生效。
@18870715400 #4 fork 模式的工作机制应该和 fork 系统调用类似,子进程和父进程的地址空间完全一致,因此引用的是同一个对象。
spawn 模式的工作机制应该和 execve 系统调用类似,用 fork 系统调用产生子进程后会用 execve 系统调用加载一个全新的 python 解释器实例,这时子进程和父进程的地址空间就不同了。不过这还不能解释,为什么给子进程传一个实例化的对象就没问题,我猜应该和内部的具体实现有关。
如果想快速解决这个错误的话,只需要在 main 函数最开始掉用一下 multiprocessing.set_start_method() 方法设置成 fork 。
10 天前
回复了 18870715400 创建的主题 Python 多进程传递进去的值没有生效。
@Nitroethane #2 请忽略这个回答,纯粹胡扯…… (被 bug 搞了一天,大脑处于混乱状态)。出现这个现象的原因是不同版本的 multiprocessing 库使用的默认的 start_method 导致的。3.9.7 上的 start_method 是 spawn ,而 3.7.5 是 fork ,所以 3.7.5 下面每次打印的 id 值是相同的。
10 天前
回复了 18870715400 创建的主题 Python 多进程传递进去的值没有生效。
`Example` 的类型是 `<class 'type'>`。刚试了下,3.9 对于 type 类型是传值,3.7.5 是传引用。因此你这个代码在 3.7.5 上是能正常跑的,但是在 3.9.6 上会报 AttritubeError 。
把代码改成这样,运行结果在两个版本上是不同的:
https://i.imgur.com/ooBRShg.png
https://i.imgur.com/jJUY8Q8.png
16 天前
回复了 bmpidev2019 创建的主题 Kubernetes 分享我用 K8S 在个人项目上的应用
@bmpidev2019 难道我用的是假的?那图里面那些图例是自己画的还是自带的啊?
16 天前
回复了 bmpidev2019 创建的主题 Kubernetes 分享我用 K8S 在个人项目上的应用
借楼问图使用什么工具画的呀
Chrome 支持 --proxy-server 命令行参数手动指定代理啊,而且这个参数可以写到配置文件里,启动的时候会自动读取配置文件里的参数,完全没必要用 proxychains
老早的 bug 了,以前用微信插件的自动登录功能的时候也有这个问题
19 款 16 寸标配 mbp ,啥 app 里中文输入都卡
30 天前
回复了 silencil 创建的主题 macOS 第一次用 Mac,请教下环境变量问题
不用管 GOROOT 啊,我执行 `go env`,GOROOT 的值是 `/usr/local/Cellar/go/1.16.3/libexec`,也没什么影响。`echo $GOROOT` 输出空值。
47 天前
回复了 Nitroethane 创建的主题 Kubernetes k8s 中有关 service 的 iptables 的疑问
@tubaflute 你部署 k8s 集群的内核版本是多少呢?我是安装的 elrepo 里 5.4 的内核
1  2  3  4  5  6  7  8  9  10 ... 42  
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2332 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 14:04 · PVG 22:04 · LAX 06:04 · JFK 09:04
♥ Do have faith in what you're doing.