Below the basics of CoralThreads:
import com.coralblocks.coralthreads.Affinity;
public class Basics {
public static void main(String[] args) throws Exception {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// must be the first thing inside the run method
Affinity.bind();
try {
while(true) {
// do whatever you want here...
}
} finally {
// must be the last thing inside the run method
Affinity.unbind();
}
}
}, "MyPinnedThread");
System.out.println();
Affinity.printSituation(); // nothing done yet...
// assign thread to processor:
int procToBind = Integer.parseInt(args[0]);
Affinity.assignToProcessor(procToBind, thread);
Affinity.printSituation(); // now you see it there...
// start the thread!
thread.start();
Affinity.printSituation(); // now it is running with a pid...
}
}