By19850316ArthurGolubev20241012ConceptsChecklistForMultithreading
1 Exclude simultaneousness with any other operations with a data portion a writing operation with this data portion:
1-1 Giving more priority for a blocking operation (information about the writing operation performer needs to be available);
1-2 Only when exchanging with preliminary prepared new data block other operations
1-3 Different combinations of trying to perform another operation when blocked, waiting different time for stopping blocking and combinations of these both;
1-4 Exclude when a writing operation any other operations with less pieces of the data;
1-5 At other levels of the system making operations atomic;
2 Queues:
2-1 Either one or multiple readers from a queue and or or writers to a queue;
2-2 Make queue internally be a set of queues with different combinations of connecting with concrete queues readers and writes: fixed connections, dynamic connections;
2-3 Queuing content variants: combination of data portions and executable code portions, only data portions, only executable code portions;
3. Caches:
3-1 Connecting data portions at some levels of caching with processors: fixed connections, dynamic connections;
3-2 Portioning values and set of values and aligning sizes of values and set of values for corresponding sizes of being processed portions of cache sizes so that these values and set of values fit into the size of being processed portions when performing caching operations.