设:让线程A,监视线程mSender 第一步: 在A中定义一个变量:ExecutorService transThread = Executors.newSingleThreadExecutor(); 解释:transThread 官方名称是“单一线程池变量”,他是做什么的呢,它就像我们给A的一块赛车场,用来玩遥控赛车。 第二步: 在A中再定义一个变量: Future transPending; 解释:transPending就像我给A一个用来控制遥控赛车的遥控器一样 第三步: 在A中定义个线程mSender对象: private final Runnable mSender = new Runnable() { public void run() { }}; 解释:这是你写的对象,他就相当于我给A的一个遥控赛车。 第四步: 在A中添加如下语句:transPending = transThread.submit(mSender); 解释:这一步就相当于把赛车(mSender)放入场地(第一步中我们定义的transThread),并且用遥控器“transPending”来控制他。 (注:这里你是否会有疑惑,我没有写"mSender.start()"之类的语句怎么让我的赛车跑起来啊(运行run()方法),放心,有了“transPending = transThread.submit(mSender);”这一步,赛车是自动跑起来的,也就是mSender会自动调用run的。) 第五步: 现在你可以用遥控器“transPending”干很多事情了 transPending.cancel(true);无论线程现在是否运行中,立刻终止。 transPending.cancel(false);当前线程若没有运行(比如挂起状态)就终止它。 transPending所做的不止这些。
Android 让一个线程控制另一个线程
最新推荐文章于 2023-02-04 18:23:19 发布