Une exigence dans les projets Android: lire le contenu des fichiers via des threads et contrôler le début, faire une pause et continuer les threads pour contrôler la lecture des fichiers. Enregistrez-le ici.
Directement dans le thread principal, le thread (thread enfant) qui lit le fichier est contrôlé directement via Wait, Notify et Notifyall, et une erreur est rapportée: java.lang.illegalmonitorstateException.
Plusieurs problèmes à noter:
Trois façons d'obtenir le contrôle des fils:
Ici, nous allons commencer, faire une pause et continuer à encapsuler la classe de threads et appeler simplement la méthode de cette instance directement.
classe publique ReadThread implémente Runnable {public thread t; wimeName de chaîne privée; booléen suspendu = false; public readThread (String ThreadName) {this.ThreadName = ThreadName; System.out.println ("Création" + ThreadName); } public void run () {for (int i = 10; i> 0; i--) {System.out.println ("Thread:" + ThreadName + "," + i); // Laissez le fil dormir pendant un certain temps. essayez {thread.sleep (300); synchronisé (this) {while (suspendu) {wait (); }}} catch (InterruptedException e) {System.out.println ("Thread" + ThreadName + "Interrupted."); e.printStackTrace (); } System.out.println ("Thread" + ThreadName + "Exact."); }} / ** * start * / public void start () {System.out.println ("start" + threadName); if (t == null) {t = nouveau thread (this, threadName); t.start (); }} / ** * pause * / void suspendre () {suspendu = true; } / ** * Continuer * / synchronisé void resu () {suspendu = false; notify (); }}Ce qui précède est tout le contenu de cet article. J'espère que le contenu de cet article sera d'une aide à l'étude ou au travail de chacun. J'espère également soutenir plus Wulin.com!