Mi piacerebbe poter richiedere a Linux di pianificare due o più thread contemporaneamente. Intendo oggi quando il mio programma multi-thread è in esecuzione, so che nel peggiore dei casi solo uno dei miei thread viene eseguito fisicamente (programmato) alla volta. Ora vorrei dire a Linux: ecco la lista degli Id dei thread, cerca di programmarli nello stesso tempo, possibilmente con affinità core. Esiste una tale capacità o qualcuno ha lavorato su questo?
L'obiettivo è di avere uno o più thread di attività (dedicati alle attività) in esecuzione nello stesso tempo del thread principale. Il thread principale avrebbe dato loro compiti molto brevi da eseguire, come la memorizzazione o la ricerca di un hash o di un array. Nel frattempo il thread principale sarebbe andato avanti fino a quando non avrebbe raggiunto una dipendenza da uno dei risultati delle attività. Se l'attività è stata realmente eseguita in parallelo, la dipendenza non fermerebbe il thread principale e il programma sarebbe eseguito più velocemente.
Con il consueto schema di pianificazione le attività potrebbero essere pianificate molto più tardi rispetto al punto di sincronizzazione e questo potrebbe persino essere eseguito più lentamente di una versione a thread singolo.
Grazie