V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  GeruzoniAnsasu  ›  全部回复第 126 页 / 共 150 页
回复总数  2986
1 ... 122  123  124  125  126  127  128  129  130  131 ... 150  
2019-01-23 12:39:11 +08:00
回复了 soaky 创建的主题 云计算 网站被百度标记为:可能存在违法信息
soaky 兄的网页做得不错啊,想必也是网上冲浪“老鸟”了吧
2019-01-23 11:17:38 +08:00
回复了 lookas2001 创建的主题 问与答 各位按键盘上的 C 键时候一般用食指还是中指呢?
绝了。。。原来这么多中指的。。。。

我 cvb 三个键都是食指按,下排键不用无名指,小指 z 中指 x,食指平时的摆放就是横跨 fc 的所以中指往右偏会挡住按不到
2019-01-22 20:51:00 +08:00
回复了 9684xtpa 创建的主题 全球工单系统 腾讯,你能否再傲娇一点
你想说的词是“骄傲怠慢”
not “傲娇”
“傲娇” 指 “平时态度冷淡言语高傲也隐藏有娇羞可人的一面”

最近见到的这词已经完全没有正确用法了
2019-01-22 20:30:35 +08:00
回复了 lookas2001 创建的主题 问与答 各位按键盘上的 C 键时候一般用食指还是中指呢?
你能用中指按到 C 键???

不如纠结一下 z 是用小指还是用无名指按的
2019-01-22 15:53:32 +08:00
回复了 chinesestudio 创建的主题 问与答 小学一年级 你们怎么教英语
其实
只练发音

够了
对于小朋友来说
练口语
才是
正确路子

让模仿
机器合成的语音

哪个天才
想出来的
2019-01-22 15:46:55 +08:00
回复了 thomaswang 创建的主题 程序员 用户态/内核态和线程模型
然后,线程的确还分为只在内核中执行的线程以及包含了用户空间代码的线程,你可能是混淆了这两种内核线程 /用户线程?

就 linux 来说,它的内核可以看做是单线程的,所以所谓的“内核线程”更像是内核中的协程,毕竟没有更上层的结构去切换上下文,必须自行实现多路复用。内核线程是无法中断的,一旦某个内核线程中有死循环,那么整个内核+用户空间的所有线程都会挂掉。这与多对多的线程模型没有关系,是另一个层面的东西
2019-01-22 15:42:59 +08:00
回复了 thomaswang 创建的主题 程序员 用户态/内核态和线程模型
@thomaswang 前面不是说了,只要是原生的线程必定是需要内核来实现切换的,而进程只不过是一组线程的集合,硬件时间中断->进入内核->调度线程->切换回用户空间->执行用户空间代码->时间中断,这是一个循环。你可能以为写的所有代码都是 ring3 的用户代码,不需要进入内核空间,可现在的情况是,线程本身就是内核中的一个结构,并且用户代码也是需要内核来帮助切换执行的
2019-01-22 15:35:10 +08:00
回复了 garlics 创建的主题 问与答 使用逻辑运算符代替 if 判断函数执行条件会不会被打?
@sosilver 试完发现我说错了
go 的下限刚好在 “写出没法用的代码”以上 意味着 golang 不管多傻逼的人来写,只会写出逻辑 bug,不会写出调试不了不科学不能跑的代码

c++,嚯,那就不一样了,没人知道自己写的代码对不对,只知道“在特定情况下似乎不会崩”
2019-01-22 15:03:55 +08:00
回复了 linora 创建的主题 问与答 静电⚡️⚡️⚡️⚡️⚡️⚡️!!!!!
一手扶墙一手摸金属。。
我现在天天摸着墙走路。。。
2019-01-22 14:57:57 +08:00
回复了 garlics 创建的主题 问与答 使用逻辑运算符代替 if 判断函数执行条件会不会被打?
拿 c++来说,这种写法有个很严重的问题就是求值要先于运算符

https://zh.cppreference.com/w/cpp/language/eval_order
2) 任何运算符的运算数的值计算(但非副效应)先序于运算符结果的值计算(但非副效应)。

&& 右边的 sucess()函数必定会先调用,得出结果后,才会进行&&比较,而如果 success 是个 void 类型,此处甚至无法编译,所以 C/JAVA 里不可能见到这种写法,语义上都无法成立


只在 shell 脚本里见过 [ xxx ] && do_sth
2019-01-20 00:55:01 +08:00
回复了 Litecoins 创建的主题 Python 断点调试装饰器遇到的疑问疑问🤔️
@xpresslink 是语法糖,但装饰器相当于一个赋值语句,在执行流中的位置还是比较明确的

@register 相当于 f1 = register(f1),执行到这行时,在装饰器函数内部下断应该是可以断下来的

在 12 行下断只有在执行 f1()时才会中断
2019-01-18 19:37:22 +08:00
回复了 linkMessage 创建的主题 奇思妙想 想做一个只能加 7 个好友的社交软件,有人用吗?
没用,好友几百个,会私聊的数量为 0

就算限制好友数量为 1

对我来说都没有任何区别,群组才是社交生命力
2019-01-17 19:48:41 +08:00
回复了 thomaswang 创建的主题 程序员 用户态/内核态和线程模型
@thomaswang 操作系统提供的原生线程,是由内核实现的,当发生时钟中断,内核的终端处理流程会切换线程上下文并调度到另一个线程继续执行;原生线程是必须依赖硬件和内核共同工作的,也就是你说的“内核线程”

一般来说一个原生线程只干一件事,但有时候不满足需要

现在不考虑原生线程,假设你要在一个单一线程里模拟同时执行多个任务能实现吗
—— 是可以的,比如实现一个虚拟机:

def main_loop():
..for t in tasks:
....c = next(task.codes)
....ctx = task.context
....exec_opcode(c,ctx)

取得每个 task 的下一条指令,执行一遍然后马上返回主循环,每个 task 中执行流都会往下走,但这都完全发生在同一个线程里

当然拆到这么细粒度需要的代价非常大(实现虚拟机过于复杂而且慢得很)刚好很多语言提供了协程或者撸协程用的 feature,比如 yield:

def fake_sleep():
..yield

def thread1():
..while True:
....print('thread1')
....yield from fake_sleep()

def thread2():
..while True:
....print('thread2')
....yield from fake_sleep()

while True:
..for t in [thread1(),thread2()]:
....t.send(None)

每一个 fake_sleep 都是调度点,此时我们就可以把 thread1 和 thread2 看做是“线程”(协程),在一段时间内这两个函数会“并行”执行然后交替输出 thread1/thread2

于是我们就可以用协程来模拟多任务并行了,只不过需要手动实现切换 task 的代码

以上你已经了解了 用户线程内核线程 1:1 以及 N:1 的模型
那么任意比例的模型也就是把若干个 N:1 模型放进几个真正的原生线程里而已,当然其中复杂度和涉及的细节都会多很多,此处不展开



可以看到这几种模型其实跟内核代码怎么切换根本就没什么关联,是两种意义层次
@onyourroad

> 如果可以没有这些麻烦事,我宁愿找个小公司去当程序员,一点一点努力升职。

这个小公司的程序员最终花了 10 多年好不容易年薪 20w 然后一波寒冬被裁再也没有公司要


你期望哪种结果
2019-01-17 10:48:15 +08:00
回复了 eagleweb 创建的主题 问与答 学习编程,先学习函数后学习变量顺序是否正确?
@eagleweb 为什么不按照书的进度来?
连子过程的概念都还没有让人上哪去理解函数,特别是,“参数”是什么鬼东西
学编程先从照猫画虎写得出能跑的东西开始
然后才继续认识各种语法成分和特性
2019-01-16 20:29:27 +08:00
回复了 eagleweb 创建的主题 问与答 学习编程,先学习函数后学习变量顺序是否正确?
先学怎么输入输出

学变量是什么鬼东西,都不明白你想表达什么
2019-01-16 14:44:13 +08:00
回复了 thomaswang 创建的主题 程序员 用户态/内核态和线程模型
系统调用切换到内核态只是会运行内核中的代码而已,线程还是线程,可以说是两个方面的东西,没什么联系可言

我猜 lz 可能是对内核到底是怎么工作的怎么与用户态协同有疑问?
1 ... 122  123  124  125  126  127  128  129  130  131 ... 150  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2708 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 14:04 · PVG 22:04 · LAX 06:04 · JFK 09:04
Developed with CodeLauncher
♥ Do have faith in what you're doing.