Urgent.News

What's breaking now, across thousands of outlets.

Tech

协程到底是什么?把它当成“一个能中途暂停的函数”,一切就通了

TL;DR:协程不是“更快的线程”,它是一个可以在中途停下来、把线程让给别人、之后还能从停下的那一行接着跑的函数。它省掉的不是计算时间,而是等 IO 时的空转。 面试被问“协程是什么”,大多数人的答案是背来的一句:“协程是用户态的轻量级线程。” 这句话不算错,但它几乎解释不了任何事。听完你还是不知道该在什么时候用它、为什么它会被一个 time.sleep() 卡死、为什么它不需要锁。 这篇不讲定义,只讲三件事: 协程在切什么、调度权在谁手里、什么时候不该用它。 一、先问一个更朴素的问题:谁在决定现在跑哪段代码? 进程、线程、协程经常被并列着讲,但它们回答的其实是同一个问题: “现在这一刻,CPU 该执行哪段代码,由谁说了算?” 谁在调度 切换成本 需要锁吗 能并行吗 进程 操作系统 最贵(换地址空间、页表) 需要(或靠 IPC) 能,真并行 线程 操作系统…

We haven't written up this one. Dev.to has the full story — the link below goes straight to it.

Read the original at dev.to →

More in Tech

协程到底是什么?用"一个人守三口锅"讲明白,别再和线程混为一谈

面试里被问"协程是什么",很多人的答案是一句背来的话:"协程是用户态的轻量级线程。" 这句话不算错,但它几乎解释不了任何事。听完之后你还是不知道该在什么时候用它、为什么它会被一个 time.sleep() 卡死、为什么它不需要锁。 这篇不讲定义,只讲三件事: 协程在切什么、调度权在谁手里、什么时候不该用。 一、先把三个词排成一队:进程、线程、协程…

An alternate-key lookup still needs object authorization

Most BOLA writeups show GET /orders/{id} with a guessed UUID. The same bug often hides behind a “friendlier” lookup: GET /orders?email= , findByExternalId , or where slug = ? .

  • Alternate-key lookups can expose object authorization flaws.
  • System should authorize loaded resource for specific subject.
  • Same denial shape as id-based routes prevents accidental oracles.

More from Friday 2 October →