V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  cnbatch  ›  全部回复第 2 页 / 共 71 页
回复总数  1418
1  2  3  4  5  6  7  8  9  10 ... 71  
20 天前
回复了 xyz3210 创建的主题 NAS 折腾 ipv6 外网访问
楼上那些别用什么 AI 总结了,总结完依然又长又臭
20 天前
回复了 xyz3210 创建的主题 NAS 折腾 ipv6 外网访问
一句话总结:OP 原本用光猫拨号,IPv6 可以从外部网络连回家正常使用,上星期突然没法用,检查一圈后发现是网件路由器禁止主动入站且不允许关闭( OP 没提这几天换了路由器但看起来应该是换了的),只好将就着把华硕旧路由器接回去。
22 天前
回复了 zuotun 创建的主题 NAS 硬件还是软件 RAID?
我一直用 BSD + ZFS ,而不是 RAID 卡,系统是 XigmaNAS ,只用作纯储存,足够稳定可靠。raidz1 ,使用了 5 块盘。

其中一台 NAS 曾经因为电源供电不足(后来发现是环境温度高、风扇“吸”走大量电力),某块硬盘掉线好几天。解决供电故障后,它自动帮我恢复校验,速度挺快的。最重要的是,恢复期间我还关机清灰,重新开机后它能够继续恢复过程,完全不怕我乱整一通。

更“好玩”的是,我插拔 SATA 线对调两块硬盘的顺序(进 BIOS 可以看到是对调过了),ZFS 仍然能够正确使用,不受位置顺序的影响,很方便。
23 天前
回复了 LaoDahVong 创建的主题 宽带症候群 WG 回国流量也被墙么?
@likooo125802023 即使是回国流量,WG 数据报依然是双向传送的,隧道内仍然会有流量从墙外传往墙内(例如隧道内的 TCP 确认包)

所以,就算假设墙仅仅过滤墙外往墙内发送的数据,照样会触发阻拦
@MFWT IPsec 的限速案例似乎并不多,可能大多数情况下并不会限速 /t/794553

还有一个是 GRE 限速案例: /t/700660

想用就直接用吧,遇到限速再换其他的
@fuzzsh 国内的限速:
/t/1082839
/t/1082680
Visual Studio 2022 的选项→文本编辑器→常规,有个“自动检测不带签名的 UTF-8 编码”,也会有用
26 天前
回复了 lithium148 创建的主题 Linux 除了免费, Linux 好处都有啥
OP 是想尝试“远离 Linux”吗?可以做到的。

我在公司主要使用 Windows Server ,无论是网站还是服务都部署到 WinServer (内置 Active Directory 认证,许多事情都可以少操心)。Linux 极少用到,虽然其他部门用得挺多,但我经手的服务器几乎都是 Windows Server 。

家里服务的主力系统是 FreeBSD 系列:软路由 OPNSense ,NAS 用 XigmaNAS ,魔法节点就用 FreeBSD 最新 RELEASE 版( FreeBSD 的 FIB 很好用 /t/1055496 )。只有偶然需要在 Linux 环境做测试的时候才会进入 Linux 虚拟机测一测。
准确来说,是“家宽的 QoS 等级属最低端,享受优先丢包的待遇”,各种传输协议的 QoS 都围绕着这个基础
简单粗暴的办法:
收集这些 app 的 p2p 域名,以及这些 app 打洞相关的域名,在路由器 DNS 那里解析为 127.0.0.1 、::1
看下系统日志,应该有锁定原因的

比如是不是有人暴力穷举试密码
@newma
有关联的是 atomic<shared_ptr<T>>变量本身,不是 shared_ptr 之间

如果不用 atomic ,那就:

共享变量:
shared_ptr<Description> share_desc_ptr;

线程 1:
shared_ptr<Description> desc_ptr = share_desc_ptr;

线程 2:
share_desc_ptr = make_shared_ptr<Description>();

这里用到了 operator=,按照 cppreference 的描述,会发生数据竞争。所以要改成:


C++20 之前:

共享变量:
shared_ptr<Description> share_desc_ptr;

线程 1:
shared_ptr<Description> desc_ptr = atomic_load(&share_desc_ptr);

线程 2:
atomic_store(&share_desc_ptr, make_shared_ptr<Description>());


C++20 起:

共享变量:
atomic<shared_ptr<Description>> share_desc_ptr;

线程 1:
shared_ptr<Description> desc_ptr = atomic_load(&share_desc_ptr);
// 或者 shared_ptr<Description> desc_ptr = share_desc_ptr; 自动调用 atomic 的 operator=

线程 2:
atomic_store(&share_desc_ptr, make_shared_ptr<Description>());
// 或者 share_desc_ptr = make_shared_ptr<Description>(); 同样自动调用 atomic 的 operator=
@minami 说实话,如果 MSVC 支持多系统,全用 MSVC 也不是坏事
@newma
@changnet cppreference 是这么说的:
https://en.cppreference.com/w/cpp/memory/shared_ptr/atomic

If multiple threads of execution access the same std::shared_ptr object without synchronization and any of those accesses uses a non-const member function of shared_ptr then a data race will occur unless all such access is performed through these functions, which are overloads of the corresponding atomic access functions (std::atomic_load, std::atomic_store, etc.).

如果多个执行线程无同步地访问同一 std::shared_ptr 对象,而其中由任何访问使用了 shared_ptr 的非 const 成员函数,那么就会发生数据竞争,除非所有这种访问都通过这些作为对应原子访问函数( std::atomic_load 、std::atomic_store 等)重载的函数进行。

non-const 的成员函数是:
reset()、swap()、operator=

我的例子刚好就是一边换指针、一边读指针,按照 cppreference 的说法,应当使用 atmoic 操作。
@bruce0 刚看了下 cppreference ,显示还没支持,Apple Clang 总是慢一拍吧
@felixlong 多线程读写会用到,放进 atomic 就不需要再用 mutex 了。

举个例子,atomic<shared_ptr<Description>>,用来保存一段文字描述,修改时直接 make_shared<Description>,其他线程读取时调用 load() 成员函数或者用 std::atomic_load(),可以确保修改与读取互不干扰。对于时间敏感度不高的场景会很方便,起码不会死锁。
@Coelacanthus 刚用 reportbug 命令向 Debian 提交了,暂时还没什么反应,就连编号都还没生成。
不太熟悉他们的流程,看来只能继续等待
system()本质是运行命令行的命令,所以 system("pause")意思就是在 Windows 调用 pause 命令

如果是想通用一点,那就把 system("pause")替换成
printf("Press enter to continue");
int c = getchar();
蛋白粉无非就是从牛奶、大豆分离出蛋白质,算不上什么“科技狠活”。
真正的“科技狠活”是所谓的 cycle ,也就是健美圈常见的注射高剂量雄激素,国内俗称“上科技”。
1  2  3  4  5  6  7  8  9  10 ... 71  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1865 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 16:34 · PVG 00:34 · LAX 08:34 · JFK 11:34
Developed with CodeLauncher
♥ Do have faith in what you're doing.