Semiours are kind of like thread locks, but they allow multiple things to happen. Say maybe your database only allows 10 connections or you don't want it to have more than 10 connections. You could have a semifour that says it has a limit of 10, and you have to acquire it to talk to the database. That doesn't mean it stops multiple things from happening at once. It just doesn't let it become 1000 at once, right? Exactly. I really like this idea. And I was showing some people some web scraping work with async I owe,. where it's like, oh, let's go create a whole bunch of ACPX requests ... But if you have