Android-Set-Affinität

Nach der Antwort von dieser StackOverflow Frage wie kann ich die richtige Integer für Maske erstellen?

Ich habe einige googeln und das alles, was ich gefunden habe, verwendet CPU_SET Makro aus sched.h aber es funktioniert auf cpu_set_t Strukturen, die undefined sind, wenn NDK verwendet. Beim Versuch mit CPU_SET Linker gibt mir undefined Referenzfehler (obwohl ich Link gegen pthread).

  • Erkennung von Webview-Fehlern und Anzeigen von Nachrichten
  • RecyclerView - Scrollen Sie zu Position, die nicht jedes Mal arbeitet
  • Ein ganzes Bundle zu SharedPreferences speichern
  • Tonwiedergabe in Android-Benachrichtigungen, obwohl der Ruftonmodus eingestellt ist
  • ArrayList automatisch das Hinzufügen von Nullpositionen
  • Gradle-Befehlszeile: nicht gefunden, Ziel-android-22
  • Android, httpurlconnection error
  • JQuery - Autoshow Keyboard auf Mobile zulassen
  • Unterschied zwischen setContentView und LayoutInflater
  • Bildschirm pinning 3rd-Party-Anwendungen programmgesteuert
  • Android: Integer aus XML-Ressource
  • Authentifizierung Dropbox verlässt den Browser
  • 3 Solutions collect form web for “Android-Set-Affinität”

    Nun, am Ende fand ich eine Version, die direkt von sched.h . Ich schreibe hier, wenn jemand das gleiche Problem hat und nicht die Zeit damit verbringen will, nach ihm zu suchen. Das ist sehr nützlich.

     #define CPU_SETSIZE 1024 #define __NCPUBITS (8 * sizeof (unsigned long)) typedef struct { unsigned long __bits[CPU_SETSIZE / __NCPUBITS]; } cpu_set_t; #define CPU_SET(cpu, cpusetp) \ ((cpusetp)->__bits[(cpu)/__NCPUBITS] |= (1UL << ((cpu) % __NCPUBITS))) #define CPU_ZERO(cpusetp) \ memset((cpusetp), 0, sizeof(cpu_set_t)) 

    Dies funktioniert gut, wenn der Parametertyp in der ursprünglichen setCurrentThreadAffinityMask (aus der in der Frage erwähnten Stelle) einfach durch cpu_set_t .

    Ich möchte Ihre Aufmerksamkeit, die Funktion von Link in der ersten Post nicht die Thread cpu Affinität gesetzt. Es passt dazu, die Prozess-CPU-Affinität zu setzen. Natürlich, wenn du einen Thread in deiner Anwendung hast, funktioniert es gut, aber es ist falsch für mehrere Threads. Check up sched_setaffinity () Beschreibung zum Beispiel auf http://linux.die.net/man/2/sched_setaffinity

    Versuchen Sie, dies vor Ihrem Include <sched.h>

     #define _GNU_SOURCE 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.