ADD week 5
This commit is contained in:
		
							
								
								
									
										42
									
								
								02-Easy5/E5/sources/kotlinx/coroutines/EventLoopKt.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								02-Easy5/E5/sources/kotlinx/coroutines/EventLoopKt.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| package kotlinx.coroutines; | ||||
|  | ||||
| import kotlin.Metadata; | ||||
| import kotlin.Unit; | ||||
| import kotlin.jvm.functions.Function0; | ||||
| import kotlinx.coroutines.scheduling.CoroutineScheduler; | ||||
|  | ||||
| /* compiled from: EventLoop.kt */ | ||||
| @Metadata(d1 = {"\u0000&\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\u0018\u0002\n\u0000\u001a\b\u0010\u0000\u001a\u00020\u0001H\u0000\u001a\u0019\u0010\u0002\u001a\u00020\u00032\u000e\b\u0004\u0010\u0004\u001a\b\u0012\u0004\u0012\u00020\u00030\u0005H\u0080\b\u001a\b\u0010\u0006\u001a\u00020\u0007H\u0007\u001a\b\u0010\b\u001a\u00020\u0007H\u0001\u001a\f\u0010\t\u001a\u00020\n*\u00020\u000bH\u0001¨\u0006\f"}, d2 = {"createEventLoop", "Lkotlinx/coroutines/EventLoop;", "platformAutoreleasePool", "", "block", "Lkotlin/Function0;", "processNextEventInCurrentThread", "", "runSingleTaskFromCurrentSystemDispatcher", "isIoDispatcherThread", "", "Ljava/lang/Thread;", "kotlinx-coroutines-core"}, k = 2, mv = {1, 8, 0}, xi = 48) | ||||
| /* loaded from: classes.dex */ | ||||
| public final class EventLoopKt { | ||||
|     public static final EventLoop createEventLoop() { | ||||
|         return new BlockingEventLoop(Thread.currentThread()); | ||||
|     } | ||||
|  | ||||
|     public static final long processNextEventInCurrentThread() { | ||||
|         EventLoop currentOrNull$kotlinx_coroutines_core = ThreadLocalEventLoop.INSTANCE.currentOrNull$kotlinx_coroutines_core(); | ||||
|         if (currentOrNull$kotlinx_coroutines_core != null) { | ||||
|             return currentOrNull$kotlinx_coroutines_core.processNextEvent(); | ||||
|         } | ||||
|         return Long.MAX_VALUE; | ||||
|     } | ||||
|  | ||||
|     public static final void platformAutoreleasePool(Function0<Unit> function0) { | ||||
|         function0.invoke(); | ||||
|     } | ||||
|  | ||||
|     public static final long runSingleTaskFromCurrentSystemDispatcher() { | ||||
|         Thread currentThread = Thread.currentThread(); | ||||
|         if (!(currentThread instanceof CoroutineScheduler.Worker)) { | ||||
|             throw new IllegalStateException("Expected CoroutineScheduler.Worker, but got " + currentThread); | ||||
|         } | ||||
|         return ((CoroutineScheduler.Worker) currentThread).runSingleTask(); | ||||
|     } | ||||
|  | ||||
|     public static final boolean isIoDispatcherThread(Thread thread) { | ||||
|         if (thread instanceof CoroutineScheduler.Worker) { | ||||
|             return ((CoroutineScheduler.Worker) thread).isIo(); | ||||
|         } | ||||
|         return false; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user