V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  GeruzoniAnsasu  ›  全部回复第 49 页 / 共 148 页
回复总数  2950
1 ... 45  46  47  48  49  50  51  52  53  54 ... 148  
2022-06-05 18:42:00 +08:00
回复了 mzmxcvbn 创建的主题 Python 几个独立的进程间如何共享锁
@LeeReamond 当然是有可能的,所以一般还会有非阻塞的使用方式,比如 flock 有个 LOCK_NB 控制位
2022-06-04 18:57:36 +08:00
回复了 mzmxcvbn 创建的主题 Python 几个独立的进程间如何共享锁
@LeeReamond A 进程如果还能消失,那么说明内核已经正确处理了这个进程所有资源的释放,包括它持有的任何锁和 fd 。但你要说那种常见的 .lock 文件由于进程崩了没删掉导致程序误判,那属于逻辑问题,跟锁本身无关
2022-06-04 18:34:45 +08:00
回复了 codists 创建的主题 程序员 如何解答
看了下原帖


------

>
# 这里的 string 是指字节串(bytes)而不是字符串(str)。
# machine values 就是值(例如 int 、float 等)的机器表示(内存表示)。
# 内存里面每个位有 0 和 1 两种状态,通常每 8 位组成 1 个字节,每个字节取值 0~255 。
# 同一块内存可以按不同的方式来解释。

>
value (值)是指整数值(1, 2, 3 ...),实数值(0.1, 1.0, 10.0, ...)、布尔值(true, false)等。
值都有对应的类型,类型可以看做值的集合。

machine value (机器值)是指机器(计算机 CPU)能够直接处理的值。

machine value 可以简单的用几个字节表示,例如:
无符号整数(8 位,16 位,32 位,64 位等),采用原码表示。32 位无符号整数取值范围为 0 到 2**32-1 。
有符号整数(8 位,16 位,32 位,64 位等),采用补码表示。32 位有符号整数取值范围为 -2**31 到 2**31-1 。
浮点数(32 位,64 位等),按 IEEE 754 标准规定的方法表示。32 位浮点数取值范围大约为 -3.4028235e+38 到 3.4028235e+38 ,以及 3 个特殊值。

machine value 的基本运算(加减乘除等)通常就是一条机器指令,这些运算与数学上的运算有些差异,有溢出、误差等情况。

详细可以参考 CSAPP 的第二章。

与 machine value 对应的就是高级语言里的值。
例如 python 里面的 int ,可以表示很大的整数(取决于内存大小)。
每个 int 占用的内存不固定,绝对值越大占用内存越多。
对应的运算也是一个复杂的函数,最终需要很多条机器指令。


是好解答还是坏解答?以你的定义
2022-06-04 18:26:08 +08:00
回复了 codists 创建的主题 程序员 如何解答
in fact, people reply but not answer

期望每个人都是以解答问题的心态点进来的,这种想法本来就不可取



其实你可以观察下「解答」退化成「回复」的分界线在哪
2022-06-03 00:29:41 +08:00
回复了 fivesmallq 创建的主题 MacBook Pro MacBook Pro 显示器选择
怎么没人提原彩显示

外接显示器是无法自动调色的,关掉才能看出有多少色差。
2022-06-01 19:21:20 +08:00
回复了 nthhdy 创建的主题 程序员 为什么图片视频不直接使用类似 huffman 这种熵编码压缩呢?
> 我这个问题的确是想问,是否存在某种通用压缩算法,绕过“帧”这种概念,直接去掉重复的部分。



有没有一种可能,就是通用算法的效率远远不如专用的视频压缩算法
2022-06-01 01:39:37 +08:00
回复了 acctv2 创建的主题 编程 如何选择快速开发桌面小工具的技术栈?
C# + winform 拖控件双击控件写事件响应函数就完事了这不比任何 gui 框架都简单得多
2022-06-01 01:13:44 +08:00
回复了 cocong 创建的主题 Go 编程语言 诡异的执行结果,有哪位 Go 大神来给瞧瞧?
自旋锁是用来在两个真并行 cpu 上阻止彼此同时进入临界区的,要实现自旋锁的必要条件是

你需要一条
1. 原子的
2. 同时具备读和写两个操作的
3. 在当前 cpu 的当前指令周期结束前阻止其它所有 CPU 访问同名寄存器的
单个 cpu 指令


在非 cpu 层面是无论如何实现不了「自旋锁」的,务必明确

然后说代码,取模的过程和打印的过程和自增的过程都不原子,都没有锁
也就是说,有可能发生
1. 使用了线程 1 副本的 i 算取模
2. 打印了线程 2 已经自增了的 i 值
3. i 被改成了线程 3 得到的 i+1 ,其值等于…… 可以等于任何数。因为有可能 i+1 之后线程就卡住了,一直没加回来


反正一个不存在任何同步机制(你写的代码就是)的多线程并发+并行环境,临界区内的数据会被改成什么样几乎是无法预知的。


> 一个协程把 i 拿出来,加一后再放回去,这个拿出来是赋值给寄存器,寄存器加一后再拷贝到栈中
连这个都无法保证的,怎么猜? cpu 频率快慢都完全有可能影响读写的时序。分析不出来任何名堂的
2022-06-01 00:57:25 +08:00
回复了 cocong 创建的主题 Go 编程语言 诡异的执行结果,有哪位 Go 大神来给瞧瞧?
https://i.imgur.com/jPi4mVV.png
https://go.dev/play/p/MUTu5YM-Irz


看起来你并不太理解各种锁的作用。
-race 参数可以在运行时加入竞争检测,能告诉你代码写得对不对。




没啥诡异的,多线程入门必经之路,建议找点操作系统层面的并发机制看一看,pthread 什么的
@xiangyuecn

<pre> if (a <=3 || a > 5) </pre>
2022-05-31 05:15:40 +08:00
回复了 Nnq 创建的主题 远程工作 WFH 需要做 VLAN 分割么?
企业被入侵是不是个人网络也会受威胁……









别说个人网络了
你的银行卡、身份证、社保信息、薪资、岗位、代码安全性全都会受到严重威胁
你这时候在在关心你那破个人网络,是害怕暴露收藏的老师们?
ruby 不熟,库就更不了解了

你需要一个 dom visitor ,然后遍历每个节点,把节点里的 text 正则替换成<a>
2022-05-30 15:08:16 +08:00
回复了 nuanshen 创建的主题 程序员 诸位对“好的代码就是要注释比代码还多”这句话怎么看?
注释是好的
坏注释是坏的
比起「注释比代码多是好的」,「测试代码比逻辑代码多是好的」的准确性更好
https://i.imgur.com/C6eZdQF.png


虽然但是你给的两个结果不就是一样的吗
2022-05-27 16:30:49 +08:00
回复了 olddogs 创建的主题 Go 编程语言 go 语言,如何实现这样的嵌套循环?
你好像不知道你贴的所有 json 都不叫「一个列表」
1 ... 45  46  47  48  49  50  51  52  53  54 ... 148  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5958 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 56ms · UTC 01:55 · PVG 09:55 · LAX 17:55 · JFK 20:55
Developed with CodeLauncher
♥ Do have faith in what you're doing.