V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  GeruzoniAnsasu  ›  全部回复第 124 页 / 共 148 页
回复总数  2950
1 ... 120  121  122  123  124  125  126  127  128  129 ... 148  
@ysc85
@pinews

ipv9 了解一下,你们的思路跟民科很相像

以防又有路过群众说我扣民科帽子,我以为民科的特点就是在不了解不考虑甚至有意忽略事实原由的情况下仅凭想象推测结论。
首先 ip 是某种计算机网络协议,
这个协议规定地址这个字段就是
32bit4 字节二进制数。1.2.3.4 只不过是“把这 4 字节顺序按高位字节排在前面的顺序每字节用一个十进制数表示”表示的方式而已
32bit 总共也就能表示 2^32 个不同地址,这是 ip 地址不够用的本质。
怎么在这个基础上扩容?把互联网局域网凡是 IP 协议的所有流量的所有数据包中“地址”这部分全部加长,4 字节不够用,干脆*4 得了,直到宇宙尽头都够用了。大家不也都是这么想的吗
行,接下来考虑怎么“把互联网局域网凡是 IP 协议的所有流量的所有数据包中‘地址’这部分全部加长”这件事。
v4 到 v6 漫长的过渡期以及内核中两套代码几乎一样的协议栈实现就是为了达成这个目标的。

那有的人会说了,哎我能不能,不
“把互联网局域网凡是 IP 协议的所有流量的所有数据包中‘地址’这部分全部加长”
啊?

可以啊,电话分机都熟悉吧,但问题是,你分机号也是 1001,我分机号也是 1001,哎万一我又不知道自己公司前台电话是多少,或者前台压根就没人,我怎么让你找我?分机号总共 1000 个,今天我司喜迎 1001 个员工咋办,哎没关系,给各部门先分一台分机,先转部门,部门再转接个人,简单。

简单吗?

假设某些蠢人会说
“那别要前台嘛,要啥人工嘛,用交换机嘛”
“分机号不好记,语音助手嘛,说名字就能转了”

————难到不是大家加个微信记个私人手机号就完事了?仅仅是长一点而已嘛
> 允许 resize 吗
> 大小范围有区间吗

都 yes 的话我觉得写个脚本粗暴缩放就好了。。
先转 比如 png,然后开始二分:比 100k 大就按文件大小比例调整长宽后从原图缩放出新图,重复这个过程直至逼近 100k 的最大长宽
2019-01-24 12:52:03 +08:00
回复了 ColinWang 创建的主题 健康 落枕特别严重怎么办?已经好几天了
记得之前看过个什么案例也是以为落枕好几天没好去医院诊断是脑膜炎还是脱臼了还是啥

总之“落枕”严重持续超过一天强烈建议去医院。。
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 模型放进几个真正的原生线程里而已,当然其中复杂度和涉及的细节都会多很多,此处不展开



可以看到这几种模型其实跟内核代码怎么切换根本就没什么关联,是两种意义层次
1 ... 120  121  122  123  124  125  126  127  128  129 ... 148  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1053 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 51ms · UTC 23:10 · PVG 07:10 · LAX 15:10 · JFK 18:10
Developed with CodeLauncher
♥ Do have faith in what you're doing.