20 Matching Annotations
- Mar 2023
-
codewithoutrules.com codewithoutrules.com
- Sep 2022
-
-
The variable a is incremented thanks to the atomic memory primitives function addInt that is concurrent-safe. However, we assign the result to the same variable, which is a not a concurrent-safe write operation. This a careless mistake detected by the atomic analyzer.
first sighting: concurrent-safe
-
- Aug 2022
-
-
This seemed like a good disambiguation of the terms at first glance, but actually isn't my favorite.
I found https://medium.com/@itIsMadhavan/concurrency-vs-parallelism-a-brief-review-b337c8dac350 more useful.
-
-
medium.com medium.com
-
I recommend using the term “parallel” when the simultaneous execution is assured or expected, and to use the term “concurrent” when it is uncertain or irrelevant if simultaneous execution will be employed.
-
Concurrency is about dealing with lots of things at once. Parallelism is about doing lots of things at once.
-
A system is said to be concurrent if it can support two or more actions in progress at the same time. A system is said to be parallel if it can support two or more actions executing simultaneously.
-
Concurrency means executing multiple tasks at the same time but not necessarily simultaneously.
-
Concurrency means that an application is making progress on more than one task at the same time (concurrently)
-
-
github.com github.com
-
This very much appears to be a bug or design flaw in puma - The fact that a persistent connection ties up a thread on the chance a request might come over that connection seems like not great behavior. This would really only be an issue when puma is run with no workers (which wouldn't be done in production) but it still seems a little nuts.
-
- Jun 2022
-
insomnius.github.io insomnius.github.io
- May 2021
-
stackoverflow.com stackoverflow.com
-
github.com github.com
-
www.npmjs.com www.npmjs.com
Tags
Annotators
URL
-
- Jan 2021
-
doc.rust-lang.org doc.rust-lang.org
-
As an example, recall the Sync and Send marker traits we discussed in the “Extensible Concurrency with the Sync and Send Traits” section in Chapter 16: the compiler implements these traits automatically if our types are composed entirely of Send and Sync types. If we implement a type that contains a type that is not Send or Sync, such as raw pointers, and we want to mark that type as Send or Sync, we must use unsafe. Rust can’t verify that our type upholds the guarantees that it can be safely sent across threads or accessed from multiple threads; therefore, we need to do those checks manually and indicate as such with unsafe.
-
-
doc.rust-lang.org doc.rust-lang.org
-
The Sync marker trait indicates that it is safe for the type implementing Sync to be referenced from multiple threads. In other words, any type T is Sync if &T (a reference to T) is Send, meaning the reference can be sent safely to another thread. Similar to Send, primitive types are Sync, and types composed entirely of types that are Sync are also Sync.
-
Any type composed entirely of Send types is automatically marked as Send as well. Almost all primitive types are Send, aside from raw pointers, which we’ll discuss in Chapter 19.
-
-
doc.rust-lang.org doc.rust-lang.org
-
As you might suspect, Mutex<T> is a smart pointer. More accurately, the call to lock returns a smart pointer called MutexGuard, wrapped in a LockResult that we handled with the call to unwrap. The MutexGuard smart pointer implements Deref to point at our inner data; the smart pointer also has a Drop implementation that releases the lock automatically when a MutexGuard goes out of scope, which happens at the end of the inner scope in Listing 16-12. As a result, we don’t risk forgetting to release the lock and blocking the mutex from being used by other threads because the lock release happens automatically.
-
- Dec 2017
-
blog.discordapp.com blog.discordapp.com
-
How Discord Scaled Elixir to 5,000,000 Concurrent Users
Is this across the entire set of clusters or is this per single node or set of nodes for a given "guild"?
-
- Jan 2017