Skip to content

Instantly share code, notes, and snippets.

View af2905's full-sized avatar

Anatolii Frolov af2905

View GitHub Profile
@af2905
af2905 / tricky questions_function_code_child_coroutine_result.txt
Created May 13, 2024 09:37
tricky questions_function_code_child_coroutine_result
2024-05-13 11:33:30.198 9900-9972 System.out A
2024-05-13 11:33:30.199 9900-9972 System.out С
2024-05-13 11:33:31.203 9900-9973 System.out B
@af2905
af2905 / tricky questions_function_code_child_coroutine.txt
Created May 13, 2024 09:36
tricky questions_function_code_child_coroutine
val myScope: CoroutineScope = CoroutineScope(context = Job())
myScope.launch {
delay(500L)
println("A")
launch {
delay(1000L)
println("B")
}
@af2905
af2905 / tricky questions_coroutine_scope.txt
Created May 13, 2024 09:06
tricky questions_coroutine_scope
val myScope: CoroutineScope = CoroutineScope(context = Job())
@af2905
af2905 / tricky questions_result.txt
Created May 13, 2024 08:45
tricky questions_result
2024-05-13 10:43:21.233 32562-32614 System.out A
2024-05-13 10:43:21.336 32562-32613 System.out C
2024-05-13 10:43:22.237 32562-32613 System.out B
2024-05-13 10:43:22.238 32562-32613 System.out D
@af2905
af2905 / tricky questions_function_code.txt
Created May 13, 2024 08:42
tricky questions_function_code
val myScope: CoroutineScope = CoroutineScope(context = Job())
myScope.launch {
delay(500L)
println("A")
coroutineScope {
launch {
delay(1000L)
println("B")
@af2905
af2905 / tricky questions_full_code.txt
Last active May 13, 2024 08:41
tricky questions_full_code
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
CoroutinestrickyquestionsTheme {
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
@af2905
af2905 / activity_main_work_in_different_threads.txt
Last active December 5, 2023 19:56
activity_main_work_in_different_threads
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
@af2905
af2905 / functions_work_in_different_threads.txt
Last active December 5, 2023 19:56
functions_work_in_different_threads
internal suspend fun downloadUserData(): String {
withContext(Dispatchers.IO) {
println("downloadUserData started on ${Thread.currentThread().name}")
val result1 = async { receiveAdditionalUserData(taskNumber = 1) }
val result2 = async { receiveAdditionalUserData(taskNumber = 2) }
println(result1.await())
println(result2.await())
@af2905
af2905 / log_work_in_different_threads.txt
Created December 5, 2023 19:46
log_work_in_different_threads
2023-12-05 20:33:43.418 27802-27834 System.out downloadUserData started on DefaultDispatcher-worker-1
2023-12-05 20:33:43.428 27802-27836 System.out receiveAdditionalUserData number: 1 started on DefaultDispatcher-worker-3
2023-12-05 20:33:43.432 27802-27835 System.out receiveAdditionalUserData number: 2 started on DefaultDispatcher-worker-2
2023-12-05 20:33:43.439 27802-27836 System.out receiveAdditionalUserData number: 1 finished on DefaultDispatcher-worker-3
2023-12-05 20:33:43.441 27802-27839 System.out receiveAdditionalUserData number: 1, background work on Thread-7
2023-12-05 20:33:43.444 27802-27835 System.out receiveAdditionalUserData number: 2 finished on DefaultDispatcher-worker-2
2023-12-05 20:33:43.451 27802-27840 System.out receiveAdditionalUserData number: 2, background work on Thread-8
2023-12-05 20:33:44.453 27802-27834 System.out AdditionalUserData 1 received
2023-12-05 20:33:44.456 27802-2
@af2905
af2905 / log_produce_coroutines.txt
Created November 26, 2023 22:03
log_produce_coroutines
...
2023-11-26 22:58:32.081 Coroutine count: 999998
2023-11-26 22:58:32.081 Coroutine count: 999999
2023-11-26 22:58:32.082 Coroutine count: 1000000