# Thread **Repository Path**: cjf_90/Thread ## Basic Information - **Project Name**: Thread - **Description**: 对线程切换进一步封装。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-08-07 - **Last Updated**: 2025-12-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Thread Thread 是一个 Android 平台的线程管理库,提供简单易用的接口来处理多线程任务、线程调度和异步操作。它可以帮助开发者更高效地管理后台任务和主线程交互,提高应用性能和响应速度。 ## 特性 - **多线程调度**:支持后台任务的调度和执行。 - **主线程交互**:简化与主线程的交互,如更新 UI。 - **任务优先级**:支持设置任务优先级,确保重要任务优先执行。 - **生命周期管理**:自动管理任务生命周期,避免内存泄漏。 - **异常处理**:提供异常捕获和处理机制。 ## 使用示例 ### 后台任务执行 ```kotlin runJob { // 在后台线程执行的任务 "Hello from background thread" } onSuccess { // 在主线程处理结果 println(result) } ``` ### 主线程操作 ```kotlin runUI { // 在主线程执行的操作 println("Running on UI thread") } ``` ### 任务优先级 ```kotlin val priorityRunnable = PriorityRunnable(10) { // 优先级为 10 的任务 } TS.postIo(priorityRunnable) ``` ### 生命周期感知任务 ```kotlin class MyFragment : Fragment() { private val job = getJob { // 需要执行的任务 "Result" } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) job.onSuccess { // 处理结果 }.start() } override fun onDestroyView() { super.onDestroyView() job.cancel() } } ``` ## 安装 在你的 `build.gradle` 文件中添加依赖: ```gradle dependencies { implementation 'com.gitee.cjf_90:Thread:0.0.3' } ``` ## API 文档 ### `runJob` 启动一个后台任务,并提供回调接口处理结果。 ```kotlin inline fun runJob( job: ThreadOption.Job = ThreadOption.Job.ON, crossinline block: (RunnableJob.() -> T), ): RunnableJob ``` ### `runUI` 在主线程上运行指定的代码块。 ```kotlin @JvmOverloads inline fun runUI( handle: ThreadOption.UI = ThreadOption.UI.ON, time: Long = 300, crossinline block: MainHandler.() -> Unit, ) ``` ### `PriorityRunnable` 用于创建带有优先级的任务。 ```kotlin class PriorityRunnable @JvmOverloads constructor( val priority: Int = 0, private val runnable: Runnable, ) : RunnableThis, Comparable ``` ## 贡献 欢迎贡献代码和报告问题!请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 获取更多信息。 ## 许可证 本项目采用 MIT 许可证。详情请参阅 [LICENSE](LICENSE) 文件。