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 如何管理CPU资源_Java_Multithreading - Fatal编程技术网

Java 如何管理CPU资源

Java 如何管理CPU资源,java,multithreading,Java,Multithreading,在生产和消费应用程序中,假设生产需要一个cpu周期,消费需要3个平均cpu周期。那么,我们如何设法保持生产和消费数量相等的界限呢。这是我在学习线程时想象的一个问题 如果您有任何想法用Java实现此功能,请分享您的知识 你必须设计你的系统,这样你的消费者才能长期跟上你的生产商。大多数生产商都是突发性的,如果您使用队列,那么在很短的时间内,他们的生产速度比您的消费速度快并不重要。如果不是这样,你可以 拥有多个消费者 删除或合并生成的消息以减少使用者的负载 向后推制作人使其减速 您必须设计您的系统,

在生产和消费应用程序中,假设生产需要一个cpu周期,消费需要3个平均cpu周期。那么,我们如何设法保持生产和消费数量相等的界限呢。这是我在学习线程时想象的一个问题


如果您有任何想法用Java实现此功能,请分享您的知识

你必须设计你的系统,这样你的消费者才能长期跟上你的生产商。大多数生产商都是突发性的,如果您使用队列,那么在很短的时间内,他们的生产速度比您的消费速度快并不重要。如果不是这样,你可以

  • 拥有多个消费者
  • 删除或合并生成的消息以减少使用者的负载
  • 向后推制作人使其减速

您必须设计您的系统,以便您的消费者能够长期跟上您的生产商。大多数生产商都是突发性的,如果您使用队列,那么在很短的时间内,他们的生产速度比您的消费速度快并不重要。如果不是这样,你可以

  • 拥有多个消费者
  • 删除或合并生成的消息以减少使用者的负载
  • 向后推制作人使其减速

您看过BlockingQueue吗?并发是一个复杂的主题,它不仅仅是CPU周期的问题,看看这个线程,我建议阅读我推荐的书。你看过BlockingQueue吗?并发是一个复杂的主题,它不仅仅是CPU周期的问题,看看这个线程,我建议阅读我推荐的书。