[英]Generic way to run code on existing (main) thread in android?
我有一個模塊,該模塊當前已用於android應用程序,但旨在用作通用java模塊。 在某個時候它會在后台線程上做一些工作,並且需要它們提供在原始線程(在這種情況下,是android中的主線程)上運行的回調。 我知道android特定Looper
和Handler'
某種組合可以用於在android中完成此操作。 但是,有沒有更通用的方法可以在android應用程序和通用java應用程序中使用呢?
Java沒有“在另一個線程上運行代碼”的通用方法。
每個線程都通過調用run()
方法開始。 從那時起,直到線程死亡,它只會執行run()方法告訴它要做的事情。
有一些特殊情況:例如,線程池工作線程的run()方法告訴線程從隊列中挑選任務並執行它們。 通過將調用f()的任務放入隊列,其他一些線程可以使工作線程調用任意函數f()。 但這僅是由於工作程序的run()方法是如何編寫的而起作用的。
run()
方法(當然還有它調用的其他任何方法)完全控制線程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.