V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zivyou  ›  全部回复第 3 页 / 共 6 页
回复总数  119
1  2  3  4  5  6  
2020-01-17 15:36:57 +08:00
回复了 zivyou 创建的主题 Node.js 动态 require js module
@libook 感谢
2020-01-13 15:45:42 +08:00
回复了 deepmindlab 创建的主题 程序员 现在看智力水平决定高考成绩有毛病吗?
高考成绩受很多因素影响,智商只是其中一个。
Ctrl+r, 要啥插件?
2019-12-31 15:59:29 +08:00
回复了 death00 创建的主题 程序员 作为程序猿,想去外企的话,是不是要着重加强英语和算法
@death00 加油。我去年同样的计划,坚持了大半年,英语口语从 lv4->lv5,leetcode 250 道左右。后来离职了,现在荒废了好几个月了。
2019-12-31 14:53:41 +08:00
回复了 death00 创建的主题 程序员 作为程序猿,想去外企的话,是不是要着重加强英语和算法
计划基本靠谱。
英语很重要
2019-12-27 14:45:06 +08:00
回复了 xhole 创建的主题 职场话题 快三十了,面对海外工作机会不知何去何从
LZ 你这样的条件,我敢给建议??
2019-12-26 19:52:06 +08:00
回复了 Caijl 创建的主题 问与答 半吊子程序员
哈哈哈 两年半的码农来插个腰
LZ 别生气,详细说说情况呗
2019-12-26 14:17:24 +08:00
回复了 squancher 创建的主题 程序员 请问编程语言中阻塞机制在操作系统最底层是如何实现的?
1. linux 内核的 0 号进程,主体就是 C 语言的 for(;;){ schedule()}; 可以参见 linux-0.12 的源码。 同样,内核的调度核心 schedule()函数,是去遍历就绪进程队列(链表的遍历,但是若 list head 就满足,直接就可以返回)。
2. CPU 有一个叫时钟中断的东西。有一个硬件每隔一定时间(非常短,纳秒级)触发上升沿高电平,内核用 jiffies 计数。当然不是每次上升沿都引起时钟中断,通常是 1000 次触发一次时钟中断。也就是说,大约 1ms 一次时钟中断。
3. 在时钟中断的处理逻辑中,内核会调用 schedule()函数,这个函数会取就绪队列的一个进程,交出 CPU。
4. LZ 给出的代码,核心是内核的 workqueue 机制,workqueue 可以接受调度的、线程级:
prepare_to_wait(&wq, &__wait, TASK_UNINTERRUPTIBLE);
这个函数的意思是,将自己的 task struct 放入一个等待队列中(就是数据结构放入链表头的操作),这个函数有个参数自己在放入等待队列的时候,将自己的进程状态设置成 TASK_UNINTERRUPTIBLE。进入该状态后,这个进程就不会被 schedule() 函数唤醒了。
后续想要解除这个进程(称为 a) 的阻塞,必须在另一个进程(称为 b)中,b 在一顿操作之后,发现满足了该 workqueue 的 condition, b 就会取挂在该 workqueue 等待队列上的一个进程 task_struct,修改其进程状态,然后调用 schedule()。
5. 比较绕是因为 schedule()函数、workqueue、中断这些概念缠在一起。这几个东西的设计上是非常棒的

大概就是这样,凭我已有的理解写的,细节上可能有偏颇
2019-12-26 10:59:34 +08:00
回复了 squancher 创建的主题 程序员 请问编程语言中阻塞机制在操作系统最底层是如何实现的?
阻塞这个词是相对进程的上下文来说的,内核只是将进程挂起,不让它继续参与调度。
2019-12-02 13:47:53 +08:00
回复了 kirara 创建的主题 程序员 C 语言链表中的两个不相邻的节点怎么交换?
单链表的所有问题,在表头再加一个自己的头就会好解很多,你再试一下
循环体中有让线程挂起的地方
2019-11-20 14:01:14 +08:00
回复了 efonfighting 创建的主题 程序员 一行 shell 脚本 | 自动化操作多个 git 仓库
这就自媒体了??
2019-11-15 16:04:16 +08:00
回复了 zy445566 创建的主题 程序员 最近有点技术获取焦虑怎么破?
刷 leetcode 都嫌累 就认命做咸鱼吧
+1
不如换个思路,总结一下这些大佬的共同点?
2019-10-31 11:16:57 +08:00
回复了 alivesun 创建的主题 程序员 后端接口能识别是通过代理请求的吗
@index90 大致是通过 http head 里的字段判断 具体是哪些或者通用的方法,得去找一些资料了,我没有专门研究过
user-agent 这个字段太容易伪造了,可以考虑类似于 proxy-connetion,x-forward-for 什么的
2019-10-31 10:44:45 +08:00
回复了 alivesun 创建的主题 程序员 后端接口能识别是通过代理请求的吗
代理(proxy),VPN,隧道(tunnel)是三个不同的概念
你这里的代理如果是指 http 代理的话,是可以识别出来的
《我的一生是抗争的一生》
2019-10-25 18:48:03 +08:00
回复了 deep777blue 创建的主题 程序员 寻求答案,在什么环境下能做回真实的自己?
我一般在 dev 环境中会放飞自我,test 环境会有所收敛,在 proc 环境里是夹起尾巴做人。
1  2  3  4  5  6  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5378 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 08:10 · PVG 16:10 · LAX 00:10 · JFK 03:10
Developed with CodeLauncher
♥ Do have faith in what you're doing.