android - Comment contrôler l'ordre de concurrence multithread RxJava
怪我咯
怪我咯 2017-05-16 13:33:18
0
3
749

L'exigence est d'obtenir la liste de discussion du serveur, puis de parcourir pour obtenir les enregistrements de discussion. J'ai utilisé Observable.from(conversations) ici, puis j'ai inséré la conversation dans la base de données locale, filtrée pour obtenir les données requises, et enfin mis à jour la vue
Je l'ai regardé tout l'après-midi, donc lié à plusieurs mots-clés
SerializedSubject (je ne peux pas utiliser SerializedSubject.from(conversations), et une erreur est signalée lors de la conversion en Observable)
trampoline (mettre la tâche dans la file d'attente de le thread en cours, attendez que la tâche en cours soit terminée, puis continuez à exécuter la file d'attente) Tâche)
concatEager (Quelle est la différence entre cet opérateur et concatMap http://blog.csdn.net/kisty_ya... Mais là il n'y a pas d'exemples d'utilisation et je ne comprends pas)
Au début, l'étape suivante est traitée dans onNext, puis j'ai utilisé flatMap pour la gérer, mais cela s'est terminé une fois le lancement terminé, je n'ai pas attendu onNext. pour terminer l'exécution, et je pense que doOnNext et flatMap sont identiques. J'espère que vous pourrez me donner quelques conseils. Je me sens comme une mouche sans tête. Pouvez-vous écrire l'idée en pseudo-code ?

怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(3)
左手右手慢动作

Si vous souhaitez filtrer, vous devez utiliser l'opérateur Filtre

给我你的怀抱

L'utilisation de cet opérateur concatMap peut garantir que l'ordre d'exécution des threads ne sera pas désordonné !

过去多啦不再A梦
    Obserable.fromCallable()
             .filter()
             .subscribe(io)
             .obserableOn(ui)
             .subscribe(action)
             
如果是需要将过滤的数据重新保存
    Obserable data = Obserable.fromCallable()
             .filter()
             .subscribe(io)
             .share();
   data.obserableon(io)
       .subscribe(数据库)
   data.obserableOn(ui)
       .subscribe(更新)
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal