V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Karte  ›  全部回复第 4 页 / 共 9 页
回复总数  174
1  2  3  4  5  6  7  8  9  
53 天前
回复了 brader 创建的主题 程序员 现在有部分前端真的水到家了
文档也不看, 看到 `console.log` 打印出来 `ƒ assert()` 的闭包方法都不知道. 而文档已经很明确的提示这是要做什么的了 (例如转换).
53 天前
回复了 brader 创建的主题 程序员 现在有部分前端真的水到家了
目前我这还有前端连进制都不懂, 还理智气状的说前端没学过, 不需要懂, 这不是他们那边的东西.
甚至连 `0x0A` 都会觉得这不是一个数值类型. what can i say :P
听博士的。
55 天前
回复了 Legman 创建的主题 Kubernetes k8s 集群节点使用什么 Linux 发行版
为什么都是 k8s v1.28.
88 天前
回复了 6234127 创建的主题 Visual Studio Code vscode 如何写 markdown 笔记?
@makizhang 现在有点想从 notion 换成 obsidian 了.
88 天前
回复了 nunterr 创建的主题 程序员 有没有对输入法安全有过研究的?
推荐 RIME, 不过我是用 rime 会出现程序死机的情况, 只要重启 RIME 服务就会恢复.
88 天前
回复了 JiangBao1231 创建的主题 生活 今天早上接到了 3 个航空延误诈骗
我没收到过. 看样子在骗子眼里我是穷人, 挺好的.
certbot 自动更新替换, 和 acme.sh 一个道理.
方案三:
直接用现成的消息队列, 把要处理的消息丢到队列里. 消费者直接多线程从消息队列中获取数据处理. 这个开发方案是可以做到代码量最小.
方案二:

1. 创建一个对象, 对象记录一个查询位置, 查询数量.
2. 每个线程通过加锁读取该对象获取位置和数量, 并在获取后更新当前查询位置. 释放锁
3. 通过之前获取到的查询位置, 查询数量从数据库获取一段范围的数据.
4. 将数据丢入线程本地队列, 依次处理.
5. 对暂时放弃的数据 id 存入 步骤一 对象中. 采用 CopyOnWrite 方法更新对象值.

这个方案将查询 IO 放入到了每个线程, 线程只需要在获取当前处理位置时加锁就好了. 这样锁的时间十分短暂, 几乎可以做到 "无锁" 的情况. 但是需要注意线程数量, 查询数量参数; 尽可能的将线程数拉小, 查询数量拉大, 这样线程可以更专注处理数据, 而不是一直等待 IO 返回.
1. 创建一个带有并发控制所的队列.
2. 每个线程从该队列中获取数据.
3. 在获取数据时, 如果队列为空, 则由当前线程请求数据库, 批量读取数据丢入队列.
4. 数据暂时放弃时, 将数据丢入队列底部.

这样就好了. 在读取数据时通过锁做到数据获取无冲突, 而且不会有重复的数据从数据库中读取; 另一方面也降低了 IO 请求.

这个方案的缺点在获取数据时会有锁的存在, 如果数据处理比较快, 可能会遇到其他线程在等待其中一个线程读取数据库的返回.
我选 K70 PRO
187 天前
回复了 perbugwei 创建的主题 NGINX 关于 nginx 代理的问题
nginx redirect (rewrite) 不支持 POST 转发.
188 天前
回复了 somereason 创建的主题 Android 给安卓手机换高容量电池可行吗?
这么高是想做炸弹嘛, 第三方的电芯都敢用.
你先明确你的目的, 使用需求, 充电习惯之类的. 8000mA 的都是给跑外卖的, 长时间在外, 且一直开着导航的那批用户设计的. 假设你每日都回家充电, 使用频率不高, 没必要换大容量的电芯, 直接换一个相同容量或者稍微高一点的品牌电芯就好了.
在你购买的时候, 不要给自己创造需求. 按照你当前的需求去选购是最好的, 臆想的需求永无止境, 干脆直接搭电网上算了.
1  2  3  4  5  6  7  8  9  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2718 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 11:28 · PVG 19:28 · LAX 03:28 · JFK 06:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.