Java 不同操作系统中多线程程序的行为
用java编写的多线程代码在不同的操作系统中的行为如何不同。基本上,我想知道在不同的操作系统中如何处理具有相同优先级的线程,以及是否存在其他参数,不同的操作系统根据这些参数处理线程。默认情况下,Java线程使用本机操作系统的线程,因此Java线程的行为将与本机线程的行为相同。然而,在今天的大多数操作系统中,操作系统以大约相等的数量为线程提供相同优先级的时间片 操作系统之间的主要区别在于,您可能会发现,由于线程或内存体系结构的不同,某些操作系统中会出现一些线程错误,而其他操作系统中不会出现。硬件差异也会造成这种影响Java 不同操作系统中多线程程序的行为,java,multithreading,oop,Java,Multithreading,Oop,用java编写的多线程代码在不同的操作系统中的行为如何不同。基本上,我想知道在不同的操作系统中如何处理具有相同优先级的线程,以及是否存在其他参数,不同的操作系统根据这些参数处理线程。默认情况下,Java线程使用本机操作系统的线程,因此Java线程的行为将与本机线程的行为相同。然而,在今天的大多数操作系统中,操作系统以大约相等的数量为线程提供相同优先级的时间片 操作系统之间的主要区别在于,您可能会发现,由于线程或内存体系结构的不同,某些操作系统中会出现一些线程错误,而其他操作系统中不会出现。硬件差
最好的做法是确保代码正确同步,没有死锁或争用条件,以便它在任何操作系统中都能安全运行。默认情况下,Java线程使用本机操作系统的线程,因此Java线程的行为将与本机线程的行为相同。然而,在今天的大多数操作系统中,操作系统以大约相等的数量为线程提供相同优先级的时间片 操作系统之间的主要区别在于,您可能会发现,由于线程或内存体系结构的不同,某些操作系统中会出现一些线程错误,而其他操作系统中不会出现。硬件差异也会造成这种影响
最好的办法是确保代码正确同步,没有死锁或争用条件,这样它就可以在任何操作系统中安全运行。基本上:在使用Java时,这是一个错误的问题。线程优先级和什么不是你应该考虑的参数…除非你在一个非常低的级别上编程,否则Java无论如何都无法做到这一点。仅仅说“在不同的操作系统中”是不够的。在同一操作系统和硬件上的不同JVM实现中,一个以优先级为中心的程序可能会表现出不同的行为。线程优先级和什么不是你应该考虑的参数…除非你在一个非常低的级别上编程,否则Java无论如何都无法做到这一点。仅仅说“在不同的操作系统中”是不够的。在同一操作系统和硬件上的不同JVM实现中,一个以优先级为中心的程序可能会表现出不同的行为。