「Android/kotlin/別スレッド」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→別スレッド) |
(→Task処理(HogeTaskService)だと同期処理された) |
||
(同じ利用者による、間の1版が非表示) | |||
行9: | 行9: | ||
==別スレッドで非同期処理== | ==別スレッドで非同期処理== | ||
− | 以下非同期処理される | + | ===以下非同期処理される=== |
<pre> | <pre> | ||
Thread(object : Runnable { | Thread(object : Runnable { | ||
行36: | 行36: | ||
</pre> | </pre> | ||
− | Task処理(HogeTaskService) | + | ===Task処理(HogeTaskService)だと同期処理される=== |
<pre> | <pre> | ||
Thread(object : Runnable { | Thread(object : Runnable { |
2020年4月24日 (金) 10:35時点における最新版
別スレッド
Thread(object : Runnable { override fun run() { // スレッド処理 } }).start()
別スレッドで非同期処理
以下非同期処理される
Thread(object : Runnable { override fun run() { HogeService().execute() } }).start() Thread(object : Runnable { override fun run() { HogeService().execute() } }).start()
internal class HogeService { @Synchronized fun execute(): Boolean { Log.i(TAG, "処理開始") Thread.sleep(5000) Log.i(TAG, "処理終了") return true } private val TAG = "HogeService" }
Task処理(HogeTaskService)だと同期処理される
Thread(object : Runnable { override fun run() { HogeTaskService().execute() } }).start() Thread(object : Runnable { override fun run() { HogeTaskService().execute() } }).start()
internal class HogeTaskService : AsyncTask<Void, Void, Boolean>() { @Synchronized override fun doInBackground(vararg params: Void?): Boolean { Log.i(TAG, "処理開始") //Thread.sleep(5000) Log.i(TAG, "処理終了") return true } override fun onPostExecute(result: Boolean) { } companion object { private val TAG = "HogeService" } }