📜  Android中的多线程示例

📅  最后修改于: 2021-08-25 18:39:11             🧑  作者: Mango

同时处理多个任务是“多任务处理” 。以同样的方式,在一台计算机中同时运行的多个线程称为“多线程” 。从技术上讲,线程是进程的单元。多个这样的线程组合形成一个进程。这意味着当一个进程中断时,等效数量的线程可用。
例如,“自动更正”是指软件在键入的当前单词中查找错误的过程。无休止地检查错误并同时提供建议是多线程过程的一个示例。

示例Android应用:

让我们尝试在Android应用程序的帮助下可视化多线程。在下面的示例中,单击按钮时同时启动3个线程并同时工作。

方法:
步骤1:activity_main.xml中添加以下代码。在这里,我们添加了三个TextViews和一个按钮。

XML


  
    
  
    
  
    
  
    


Java
class MainActivity : AppCompatActivity() {
    @SuppressLint("SetTextI18n")
    override fun onCreate(savedInstanceState: Bundle?)
    {
        super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
  
            // Assigning Layout elements
            val tv1
            = findViewById(R.id.tv1)
                val tv2
            = findViewById(R.id.tv2)
                val tv3
            = findViewById(R.id.tv3)
                val btn
            = findViewById


步骤2:MainActivity中添加以下代码。在这里,创建了三个线程,每个线程在单击按钮时都会每秒更新一次相应的TextView(在代码中声明)。这些线程将继续运行,直到再次单击该按钮(即“停止”)为止。

Java

class MainActivity : AppCompatActivity() {
    @SuppressLint("SetTextI18n")
    override fun onCreate(savedInstanceState: Bundle?)
    {
        super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
  
            // Assigning Layout elements
            val tv1
            = findViewById(R.id.tv1)
                val tv2
            = findViewById(R.id.tv2)
                val tv3
            = findViewById(R.id.tv3)
                val btn
            = findViewById

输出:

多线程概念适用于各种机器上的大量日常应用程序。然而,同样存在缺点。在初学者级别,人们只能想到机器上的负载或增加的复杂性。但是,从更高的角度来看,预计会出现多种情况,例如复杂的测试,不可预测的结果,死锁,饥饿等。

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!