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

是否可以使用 Java 使用 In-bult java 类进行时间切片?

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

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

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

时间切片仅仅是操作系统的概念还是有任何实际用法可以使用 Java 编程来展示?有人可以分享同样的例子吗?


汪汪一只猫
浏览 85回答 1
1回答

暮色呼如

int n = Runtime.getRuntime().availableProcessors();然后启动n + 1线程。根据定义,如果n + 1线程在内核上运行n,则会发生时间切片。实际使用中,你需要运行n + 1线程并且只有ncpu核心。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java