Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 处理程序和调度程序之间的区别 我试图理解处理程序和调度程序_Java_Android_Multithreading_Handler_Scheduler - Fatal编程技术网

Java 处理程序和调度程序之间的区别 我试图理解处理程序和调度程序

Java 处理程序和调度程序之间的区别 我试图理解处理程序和调度程序,java,android,multithreading,handler,scheduler,Java,Android,Multithreading,Handler,Scheduler,我所知道的: IN-JAVA(非Android) Java使用JVM 在Java中,调度程序负责来回切换控件 在主线程和工作线程 它发生得很快,因此被称为多线程 开发人员无权访问调度程序,只有他可以影响 scheduler,JVM负责scheduler功能 IN-ANDROID Android使用JVM 在android中,调度程序称为处理程序 优点是开发人员可以访问处理程序,通过它他可以 可以控制线程的调度 我的问题: 我的解释正确吗 处理程序和调度程序功能是否相同 如果我的解释不正确,

我所知道的


IN-JAVA(非Android)

  • Java
    使用
    JVM
  • 在Java中,调度程序负责来回切换控件 在
    主线程
    工作线程
  • 它发生得很快,因此被称为多线程
  • 开发人员无权访问调度程序,只有他可以影响
    scheduler
    JVM
    负责
    scheduler
    功能

  • IN-ANDROID

  • Android
    使用
    JVM
  • 在android中,
    调度程序
    称为
    处理程序
  • 优点是开发人员可以访问处理程序,通过它他可以 可以控制
    线程的
    调度

  • 我的问题

  • 我的解释正确吗
  • 处理程序和调度程序功能是否相同
  • 如果我的解释不正确,两者之间有什么区别
    处理程序
    调度程序
  • 在Java的android w.r.t
    调度器中使用
    处理程序的优点


  • 谢谢

    我不相信你的扩展是正确的,而且两者有很大的不同。 Android是一台Java机器,仍然有一个开发人员无法访问的调度器

    处理程序持有一个特定线程的“句柄”。线程的循环器更具体(因此只有“循环”的线程才可能有处理程序)

    处理程序允许开发人员请求在特定线程中尽快(使用post方法)或在一段时间后(使用POSTDELLATED方法)处理某些代码

    请注意,这些方法称为“post”。这意味着代码将被发布到调度程序,并且每当该线程执行时,调度程序将在请求的线程上实际运行代码


    另外,我用手机回答这个问题,很抱歉拼错了。

    @Budius。。。。。[+1]获取信息。。。。所以处理程序所做的一切就像::如果线程负责发布消息。。。。。使用处理程序实例,开发人员可以使线程循环(类似于睡眠),然后执行消息的发布。。。但是调度程序反过来执行这个线程如果我错了,请纠正我?是或否。线程必须预先准备好循环(无睡眠)。如果在普通的new Thread.run()中调用new Handler(),系统将抛出异常。检查文档上的LooperThread类。这种类型的线程可以处理通过handler发送给它们的消息/可运行程序,UI线程就是这种类型的。