多线程:如何使用Java进行时间切片?
可以在bult Java类中使用Java进行时间切片吗 在互联网上搜索时,我只得到以下定义: 时间切片是一个术语,通常与处理器和操作系统有关。。。 它的意思是。。。当一个操作系统运行多个进程时,每个进程都必须 有机会运行..这是每个进程都应该在特定时间获得处理器..所以现在如果您有 3个进程运行eg-p0、p1、p2,然后现在p0可以运行5毫秒,然后轮到p1,然后轮到p2。。。。。 因此,您将为处理器必须运行的每个进程提供一些称为时间片的时间。。。。。 因此,这些进程有不同的算法(取决于操作系统) 要在处理器上运行 我在Java面试问题中得到了这个问题。但无法获得与此相关的任何Java代码示例多线程:如何使用Java进行时间切片?,java,multithreading,operating-system,threadpool,Java,Multithreading,Operating System,Threadpool,可以在bult Java类中使用Java进行时间切片吗 在互联网上搜索时,我只得到以下定义: 时间切片是一个术语,通常与处理器和操作系统有关。。。 它的意思是。。。当一个操作系统运行多个进程时,每个进程都必须 有机会运行..这是每个进程都应该在特定时间获得处理器..所以现在如果您有 3个进程运行eg-p0、p1、p2,然后现在p0可以运行5毫秒,然后轮到p1,然后轮到p2。。。。。 因此,您将为处理器必须运行的每个进程提供一些称为时间片的时间。。。。。 因此,这些进程有不同的算法(取决于操作系统
时间切片仅仅是操作系统的概念吗?或者使用Java编程有什么实际用途?有人可以分享同样的例子吗?
int n=Runtime.getRuntime().availableProcessors()代码>然后启动n+1
线程。根据定义,如果n+1
线程在n
内核上运行,则会发生时间切片。实际使用中,您需要运行n+1
线程,并且只有n
cpu内核。int n=Runtime.getRuntime().availableProcessor()代码>然后启动n+1
线程。根据定义,如果n+1
线程在n
内核上运行,则会发生时间切片。实际使用中,您需要运行n+1
线程,并且只有n
cpu内核。谢谢@ellit Frishch我有可用的处理器作为4。我将启动5个线程,然后默认情况下,时间切片在操作系统中发生,并且并没有什么要处理的程序。我的意思是,我们不能说它可以通过程序处理,也就是说,我们自己为特定的线程分配时间。(下面还有timeslicing正在运行)Java没有调度线程的机制;Java线程由本机线程支持,本机线程由操作系统调度。我将启动5个线程,然后默认情况下,时间切片在操作系统中发生,并且并没有什么要处理的程序。我的意思是,我们不能说它可以通过程序处理,也就是说,我们自己为特定的线程分配时间。(下面还有timeslicing正在运行)Java没有调度线程的机制;Java线程由本机线程支持,本机线程由操作系统调度。