vault backup: 2025-03-17 10:24:23

This commit is contained in:
Marco Realacci 2025-03-17 10:24:23 +01:00
parent 29465e9a2c
commit 9772a79c93
3 changed files with 20 additions and 13 deletions

View file

@ -13,12 +13,12 @@
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "Concurrent Systems/notes/4c - Dining Philosophers.md", "file": "Concurrent Systems/notes/5 - Software Transactional Memory.md",
"mode": "source", "mode": "source",
"source": false "source": false
}, },
"icon": "lucide-file", "icon": "lucide-file",
"title": "4c - Dining Philosophers" "title": "5 - Software Transactional Memory"
} }
} }
] ]
@ -28,19 +28,19 @@
"type": "tabs", "type": "tabs",
"children": [ "children": [
{ {
"id": "071b6cd23e4b1e9d", "id": "3d13408a0af8bc82",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "pdf", "type": "pdf",
"state": { "state": {
"file": "Concurrent Systems/slides/class 4.pdf", "file": "Concurrent Systems/slides/class 5.pdf",
"page": 24, "page": 1,
"left": -26, "left": -27,
"top": 340, "top": 10,
"zoom": 0.57541567695962 "zoom": 0.5754156769596199
}, },
"icon": "lucide-file-text", "icon": "lucide-file-text",
"title": "class 4" "title": "class 5"
} }
} }
] ]
@ -218,11 +218,12 @@
}, },
"active": "6edd4157a160e462", "active": "6edd4157a160e462",
"lastOpenFiles": [ "lastOpenFiles": [
"Concurrent Systems/slides/class 4.pdf", "Concurrent Systems/slides/class 5.pdf",
"Concurrent Systems/notes/5 - Software Transactional Memory.md",
"Concurrent Systems/notes/4c - Dining Philosophers.md", "Concurrent Systems/notes/4c - Dining Philosophers.md",
"Concurrent Systems/slides/class 4.pdf",
"Concurrent Systems/notes/images/Pasted image 20250317100456.png", "Concurrent Systems/notes/images/Pasted image 20250317100456.png",
"Concurrent Systems/notes/4b - Monitors.md", "Concurrent Systems/notes/4b - Monitors.md",
"Concurrent Systems/slides/class 5.pdf",
"HCIW/slides/4 HUI2016-6-forcefeedback.pdf", "HCIW/slides/4 HUI2016-6-forcefeedback.pdf",
"HCIW/slides/3b Haptic slides.pdf", "HCIW/slides/3b Haptic slides.pdf",
"HCIW/slides/3Haptic interaction.pdf", "HCIW/slides/3Haptic interaction.pdf",
@ -262,7 +263,6 @@
"Foundation of data science/notes/4 L1 and L2 normalization - Lasso and Ridge.md", "Foundation of data science/notes/4 L1 and L2 normalization - Lasso and Ridge.md",
"Foundation of data science/notes/3.2 LLM generated from notes.md", "Foundation of data science/notes/3.2 LLM generated from notes.md",
"Foundation of data science/notes/2 Linear Regression.md", "Foundation of data science/notes/2 Linear Regression.md",
"Biometric Systems/notes/6. Face recognition 2D.md",
"Senza nome.canvas" "Senza nome.canvas"
] ]
} }

View file

@ -95,4 +95,5 @@ test(i) :=
&& state[i] == hungry) then && state[i] == hungry) then
state[i] = eating; state[i] = eating;
self[i].signal(); self[i].signal();
``` ```
N.B.: pickup picks both forks simultaneously

View file

@ -0,0 +1,6 @@
- Group together parts of the code that must look like atomic, in a way that is transparent, scalable and easy-to-use for the programmer
- Differently from monitors, the part of the code to group is not part of the definition of the objects, but is application dependent
- Differently from transactions in databases, the code can be any code, not just queries on the DB
**Transaction:** an atomic unit of computation (look like instantaneous and without overlap with any other transaction), that can access atomic objects.
when executed alone, every transaction success