V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  magicdawn  ›  全部回复第 23 页 / 共 44 页
回复总数  876
1 ... 19  20  21  22  23  24  25  26  27  28 ... 44  
支持一下
2016 年 10 月 5 日
回复了 TheCure 创建的主题 Go 编程语言 爬虫: Goroutine 如何并行抓取网页
对于有限长度的队列, 如 []int{ 1, 2, 3, 4 }
job 为 sleep i 秒, 使用并发为 2 的时候, 耗时为 6s(2 + 4)
https://github.com/magicdawn/go-co/blob/master/demo/map/main.go

长度变化的队列, 工作中碰到的都是
while true
拿出 1000 个
等待 1000 个以某个并发完成
continue
再不行, 将 async.parallelLimit 代码抄下来写一点

啊, 这种还是 nodejs 来的简单...
2016 年 10 月 5 日
回复了 TheCure 创建的主题 Go 编程语言 爬虫: Goroutine 如何并行抓取网页
前面那一种是相当于 concurrency = Infinity
2016 年 10 月 5 日
回复了 TheCure 创建的主题 Go 编程语言 爬虫: Goroutine 如何并行抓取网页
你的意思是: 可以提交很多个 routine, 然后设置 runtime.GOMAXPROCS=cpu 核心数, 但是这样是不行的, 会导致所有的 routine 都进行了 request
题目意思可能是: 只有那么几个 concurrency routine 在跑, 一个结束了, 开始处理新的
2016 年 10 月 5 日
回复了 TheCure 创建的主题 Go 编程语言 爬虫: Goroutine 如何并行抓取网页
1. 这个 IO 密集型, 像 Node.js 这样单进程也可以完成的很好, Promise.map + concurrency
2. golang: https://github.com/magicdawn/go-co/tree/master 用 task.map
https://github.com/magicdawn/go-co/blob/master/task/map.go#L11
2016 年 10 月 4 日
回复了 Famio 创建的主题 程序员 纠结于语言的选择,犹豫在编程路口,求打醒
js 大法好...

BTW 语言学了不用会忘的...
记得以前啃 CLR via C# / .NET 规范啊 / C# 中的 XML/ LINQ / 蒋金楠的 ASP.NET MVC4 的书
然后后来没用到......不如学学 JVM 活的实在......
2016 年 10 月 3 日
回复了 tylr 创建的主题 macOS 又一个 no zuo no die 的杯具,屏幕反转后恢复不了了啊!
围观
2016 年 9 月 24 日
回复了 zhy0216 创建的主题 JavaScript 记 js 的一个小坑
2016 年 9 月 23 日
回复了 swfbarhr 创建的主题 Node.js 高并发如何保证微信 access_token 的有效
之前用过

let val = yield redis.incr key
if( val = 1) {
redis.expire key timeout
}

细想下来也没啥问题, 不会那么巧
2016 年 9 月 23 日
回复了 swfbarhr 创建的主题 Node.js 高并发如何保证微信 access_token 的有效
有 lua script

--[[
setnxAndExpire
]]

-- get args
local key, value, expire = KEYS[1], ARGV[1], ARGV[2]

-- sennx
local nxresult = redis.call('SETNX', key, value)

-- expire
if nxresult == 1 then
redis.call('EXPIRE', key, expire)
end

-- return
return nxresult


redis.defineCommand('setnx_and_expire', {
lua,
numberOfKeys: 1,
});
2016 年 9 月 23 日
回复了 swfbarhr 创建的主题 Node.js 高并发如何保证微信 access_token 的有效
在应用层去判断 setnx 结果, 然后去 expire 我觉得没有问题, 不会那么巧执行了 setnx / 然后 expire 没吧
2016 年 9 月 23 日
回复了 swfbarhr 创建的主题 Node.js 高并发如何保证微信 access_token 的有效
function aquireLock(callback) {
redis.watch('lock');
redis.multi().setnx('lock').expire('lock', 2).exec(callback);
}


setnx lock
expire lock 2

1. redis 事务, 执行出错的话, 还是会继续执行
2. setnx exists-key value, 不会出错, 结果是 0
3. 导致一直 exipre 2s

个人愚见, 不对请指正!
2016 年 9 月 21 日
回复了 qiujin2012 创建的主题 推广 阿里云可视化购买重磅上线 体验立享 75 折!
太贵,用不起了!!!!!!!!!!!!
2016 年 9 月 20 日
回复了 xpol 创建的主题 Python 请教 Python JSON API 服务器选什么框架?
koa + mongoose 手动 dog
2016 年 9 月 14 日
回复了 metrue 创建的主题 程序员 要不我们来秀秀我们的编程字体?
M+ 1m
楼主估计用的女神头像
2016 年 9 月 10 日
回复了 magicdawn 创建的主题 Node.js V8 Release 5.4
@alcarl Node.js 节点下的都是这样的 https://nodejs.org/en/docs/
2016 年 9 月 10 日
回复了 magicdawn 创建的主题 Node.js V8 Release 5.4
markdown 的 quote 效果, 显示不出来...
2016 年 9 月 8 日
回复了 Powered 创建的主题 程序员 为什么很多大厂都是 java 系?
我也想不清楚...
1 ... 19  20  21  22  23  24  25  26  27  28 ... 44  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2113 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 09:26 · PVG 17:26 · LAX 01:26 · JFK 04:26
♥ Do have faith in what you're doing.