Suomea 最近的时间轴更新
Suomea

Suomea

V2EX 第 544032 号会员,加入于 2021-04-28 17:56:40 +08:00
Ubuntu 救援
程序员  •  Suomea  •  133 天前  •  最后回复来自 guanzhangzhang
7
虹桥上班(其实是诸光路),租房位置求推荐
上海  •  Suomea  •  129 天前  •  最后回复来自 netshell
7
多线程中的锁如何保证变量和可视性
程序员  •  Suomea  •  173 天前  •  最后回复来自 dode
13
为什么现在的水果味道很淡
问与答  •  Suomea  •  173 天前  •  最后回复来自 nekoneko
54
想练拳击,建议入坑吗?
上海  •  Suomea  •  2022-08-11 18:28:18 PM  •  最后回复来自 Suomea
20
客户端 SQLite 和服务端 MySQL 数据同步的问题
MySQL  •  Suomea  •  2021-06-11 11:31:35 AM  •  最后回复来自 joesonw
13
Suomea 最近回复了
@zyqv2 没想到过了这么久还有人回复。
排查下来是防火墙的问题,两个网络进行数据同步的时候没有限制速率,触发了防火墙规则,导致 MTU 大的包出不去。手动设置本地的电脑的 MTU 为 100 就正常了。
排查工具 ping ,ping 指定 MTU ,taceroute 。
133 天前
回复了 Suomea 创建的主题 程序员 Ubuntu 救援
@likunyan 肯定没了啊
@githmb 还在
@hornets 是不是重装系统好一点
149 天前
回复了 hekouwang123 创建的主题 问与答 通勤自行车推荐
@hekouwang123 绿色软件 d3hpZF9hdGNwZndwN3Z1em0yMg==
149 天前
回复了 hekouwang123 创建的主题 问与答 通勤自行车推荐
楼主上海的吗?我手里有一个喜德盛的英雄 300 ,骑了没有一个月,用来通勤刚好合适,可以出给你~
学习汇编时也遇到这个问题,熟悉的味道。可能是磁盘的引导扇区出问题了,格式检验没通过?
173 天前
回复了 Suomea 创建的主题 程序员 多线程中的锁如何保证变量和可视性
173 天前
回复了 Suomea 创建的主题 程序员 多线程中的锁如何保证变量和可视性
@dode 这个我知道,我们可以通过 CAS + LOCK# 来实现互斥,即加锁。但是注意这里只是锁,而不是临界区的共享变量。举个自旋锁例子

mutex_t {
int flag; // 初始化等于 0 。1 表示锁被占用
}

lock(mutex_t *mutex) {
while(asm LOCK# CAS(mutex->flag, 0, 1) = 0)
;
}

unlock(mutex_t *mutex) {
mutex->flag = 0;
}

int a;

void 临界区() {
lock();
…… // 对 a 进行操作
unlock();
}

这里 CAS 只是保证了锁的正确性。但是我的问题是临界区的代码并没有对 a 进行额外的(刷新缓存,或者什么的)操作,至少代码上看是这样。那难道临界区的所有语句都加上 LOCK#,不应该,因为 LOCK# 支持的指令有限。
173 天前
回复了 Suomea 创建的主题 程序员 多线程中的锁如何保证变量和可视性
@dode 是的,什么原语,怎么生效的呢?和锁的联动机制是啥?
174 天前
回复了 Suomea 创建的主题 问与答 为什么现在的水果味道很淡
@hellodigua
@CrossEntropy
@juded
能不能既要又要还要~🤣
174 天前
回复了 Suomea 创建的主题 程序员 多线程中的锁如何保证变量和可视性
@Ericcccccccc 假设 IA-32 。那么锁是怎么和 MESI 机制结合的呢?是不是进入临界区之后,所有的缓存都使用了 MESI 机制,而不是临界区的缓存就不使用 MESI 机制了吗?
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   888 人在线   最高记录 6067   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 18:52 · PVG 02:52 · LAX 11:52 · JFK 14:52
Developed with CodeLauncher
♥ Do have faith in what you're doing.