V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  heiher  ›  全部回复第 19 页 / 共 31 页
回复总数  602
1 ... 15  16  17  18  19  20  21  22  23  24 ... 31  
@Suddoo #11 针对不要机理能跑就行的,我说了语法糖甜。针对需要机理的,我也说了展开的实现相对更容易了解。我能感受到你这段话的本意,但基本道理上并没有错。
@Suddoo 语法糖就是甜呀,哈哈,但也更难看清背后机理了(要啥机理,能跑就行 :P )。他这不仅是 Singleton 还要 Lazy Initialization 。

@JasonLaw 其实用 final 修饰最好,对于写端包含 final 字段的对象都是安全初始化的,也就是说对象成员字段在初始化时的赋值 store 一定在对象地址写入引用变量的 store 前可见。对于读端 final
instance 可以按常量来优化。
2022-05-09 23:05:35 +08:00
回复了 fengchen0vr 创建的主题 宽带症候群 大家的透明代理能愉快的用 ipv6 吗
愉快的 IPv4/IPv6+TCP/UDP(over TCP): https://github.com/heiher/hev-socks5-tproxy
我觉得你想优化掉 instance 的 volatile 减少非首次 getInstance 的开销,有个办法但要浪费点空间:

```java
public class DclSingleton {
private static DclSingleton instance;
private static volatile DclSingleton _instance;
public static DclSingleton getInstance() {
if (instance == null) {
synchronized (DclSingleton .class) {
if (instance == null) {
_instance = new DclSingleton();
instance = _instance;
}
}
}
return instance;
}

// private constructor and other methods...
}
```

记得也有 API 可以直接插入内存屏障,如果可以更好。
不加 volatile ,就可能发生 DclSingleton 对象的 filed 初始化赋值的 store 与 instance 的赋值的 store 乱序。测试逻辑就基于这个情况检测就行了,DclSingletion 增加 field 在构建函数中赋值,启动一批线程跑 getInstance 保存在局部变量,当获得的 instance 非空时,读 field 判断是否为有效赋值,最后再将 instance 复位为 null(也可专门开个复位线程来干)。这种要硬件乱序才能出问题的测试,很少次数就靠运气,但只要在弱内存序架构上多跑一会肯定会有的。
2022-05-09 09:04:41 +08:00
回复了 chanlk 创建的主题 Java Java Happens-before 的疑问
@chanlk 示例 2 不管是 writer 还是 reader 先执行,只要 flag==true ,则 i 必然==42 吧。因为 flag 是 volatile 变量,不仅限制了编译器代码生成上其它变量访存与 flag 访存的重排,在弱内存一致性架构上还会插入内存屏障指令阻止硬件执行时的乱序。
2022-05-07 11:00:51 +08:00
回复了 Judoon 创建的主题 宽带症候群 杭州电信双栈问题
这种感觉是应该是路由侧问题吧,试过换个路由或用 PC 拨号测测吗?
2022-05-06 09:32:00 +08:00
回复了 Eytoyes 创建的主题 宽带症候群 家宽公网开 VPN 连接时间长了就会被阻断正常吗?
各位使用 wireguard ,udp 限流不严重吗?
2022-05-04 11:17:26 +08:00
回复了 cathiabi 创建的主题 宽带症候群 北京联通, iptv 卡顿
@cathiabi 没有超管就用 vlan 交换机把光猫互联网和 itv 口各自连到交换机并配置两个 vlan 。
2022-04-27 20:35:23 +08:00
回复了 ecloud 创建的主题 NAS NAS 求推
想起了在用的 DIY 方案: https://hev.cc/2928.html
一切皆是对象~
2022-04-11 14:23:48 +08:00
回复了 liliass 创建的主题 宽带症候群 公寓楼商铺宽带,你怎么选? 100/100 对称
不错,不错,前段时间问过苏州移动的,只有专线能给固定 ipv4 ,记得同等速率月价格差不多是这年价。

有没有 ipv6 呀?
2022-04-11 10:51:52 +08:00
回复了 liliass 创建的主题 宽带症候群 公寓楼商铺宽带,你怎么选? 100/100 对称
这哪里呀,1080 就有固定 ip ,关键还是年呀
2022-04-10 17:47:27 +08:00
回复了 amiwrong123 创建的主题 程序员 怎么理解操作系统的 Peterson 算法的特殊情况
@amiwrong123 需要防止 Store interested[process] 乱序到 Load turn 之后:

interested[process] = TRUE;
turn = process;
storeload_barrier (mfence on x86)
while (turn == process && interested[other] == TRUE);
2022-04-10 15:28:57 +08:00
回复了 amiwrong123 创建的主题 程序员 怎么理解操作系统的 Peterson 算法的特殊情况
刚执行过 turn = self_process ,随后的判断 turn == self_process 就不成立,则说明一定有其它进程也执行了 turn = process ,但也一定会卡在 interested[other] == true 条件上,所以当前线程可以安全进入临界区。另外,挺有意思的是这个算法在 x86 的内存模型上需要使用内存屏障指令。
2022-04-08 19:53:17 +08:00
回复了 dangyuluo 创建的主题 C++ CPU 指令重排是 cache 同步太慢的表征么?
再补充一点,store buffer 和 cache invalidate queue 也是产生访存乱序效果的因素之一,这两导致访存乱序效果是可以在读端和写端都按序执行的情况下。
2022-04-08 19:45:34 +08:00
回复了 dangyuluo 创建的主题 C++ CPU 指令重排是 cache 同步太慢的表征么?
即使是单核 CPU 也可乱序执行,乱序执行能提高多部件利用效率,避免资源访问延迟产生的空等等等,cache 一致性维护开销产生的延迟当然也是一个因素之一,但并非全部。只是并行的多核(多读端)能观察到乱序而已。
2022-04-06 22:31:07 +08:00
回复了 Kuansiu 创建的主题 宽带症候群 现在买 R2S 还值得吗?
RK3588~
2022-04-04 19:08:32 +08:00
回复了 0o0O0o0O0o 创建的主题 Linux 想知道你们的透明代理方案
@KoMAsS121 确实,因为 socks5 标准的 udp 转发是走 udp 协议的,这里 over TCP 是扩展实现,所以服务器端要匹配哈。一般还要套 TCP 流量转发,socks5-tproxy <-- tcp forward --> socks5 server ,tcp forward 部分自由发挥~ 比如 tcp forward 封装成 http-stream 就可以走 CDN 啦~
2022-04-04 10:28:24 +08:00
回复了 0o0O0o0O0o 创建的主题 Linux 想知道你们的透明代理方案
@wgq2633 用 nftables 也方便,内置 ipset 支持策略分流,还内置支持 bridge 层的过滤,不想动主路由的话,桥接在主路由之间,匹配内网设备的 mac 开关代理。
1 ... 15  16  17  18  19  20  21  22  23  24 ... 31  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1020 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 43ms · UTC 19:36 · PVG 03:36 · LAX 11:36 · JFK 14:36
Developed with CodeLauncher
♥ Do have faith in what you're doing.