Java Affinity Lock - PullRequest
       6

Java Affinity Lock

0 голосов
/ 19 мая 2018

У меня вопрос новичка, поэтому я начал изучать библиотеку Java Affinity, и у меня есть следующий код:

public static void main(String[] args){
    AffinityLock l = AffinityLock.acquireLock(5);
    Thread.currentThread().setName("Testing");
    System.out.println("\nThe assignment of CPUs is\n" + AffinityLock.dumpLocks());
    while(!Thread.currentThread().isInterrupted()){

    }
}

, и у меня есть вывод:

The assignment of CPUs is
0: General use CPU
1: Reserved for this application
2: Reserved for this application
3: Reserved for this application
4: Reserved for this application
5: Thread[Testing,5,main] alive=true
... 

Но если яgo ps -alF, я вижу, что процесс не работает на PSR 5. Я что-то упускаю из виду?

Спасибо большое !!- Mag

1 Ответ

0 голосов
/ 19 мая 2018

Поток может быть выполнен на разных ядрах.Пожалуйста, прочитайте это увлекательное обсуждение .

. В этом конкретном случае вы можете остановить отладчик в методе net.openhft.affinity.LockInventory.set(CpuLayout cpuLayout) и сделать несколько шагов, чтобы выяснить, что происходит во время инициализации массива logicalCoreLocks.

Похоже, что выгруженные данные были актуальными только в момент инициализации, но не при печати на консоль.

...