Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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_Multithreading_Operating System_Threadpool - Fatal编程技术网

多线程:如何使用Java进行时间切片?

多线程:如何使用Java进行时间切片?,java,multithreading,operating-system,threadpool,Java,Multithreading,Operating System,Threadpool,可以在bult Java类中使用Java进行时间切片吗 在互联网上搜索时,我只得到以下定义: 时间切片是一个术语,通常与处理器和操作系统有关。。。 它的意思是。。。当一个操作系统运行多个进程时,每个进程都必须 有机会运行..这是每个进程都应该在特定时间获得处理器..所以现在如果您有 3个进程运行eg-p0、p1、p2,然后现在p0可以运行5毫秒,然后轮到p1,然后轮到p2。。。。。 因此,您将为处理器必须运行的每个进程提供一些称为时间片的时间。。。。。 因此,这些进程有不同的算法(取决于操作系统

可以在bult Java类中使用Java进行时间切片吗

在互联网上搜索时,我只得到以下定义:

时间切片是一个术语,通常与处理器和操作系统有关。。。 它的意思是。。。当一个操作系统运行多个进程时,每个进程都必须 有机会运行..这是每个进程都应该在特定时间获得处理器..所以现在如果您有 3个进程运行eg-p0、p1、p2,然后现在p0可以运行5毫秒,然后轮到p1,然后轮到p2。。。。。 因此,您将为处理器必须运行的每个进程提供一些称为时间片的时间。。。。。 因此,这些进程有不同的算法(取决于操作系统) 要在处理器上运行

我在Java面试问题中得到了这个问题。但无法获得与此相关的任何Java代码示例


时间切片仅仅是操作系统的概念吗?或者使用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线程由本机线程支持,本机线程由操作系统调度。