当前位置: 首页 > 面试题库 >

死循环+来连接时新建线程的方法效率有点低,怎么改进?

苍和裕
2023-03-14
本文向大家介绍死循环+来连接时新建线程的方法效率有点低,怎么改进?相关面试题,主要包含被问及死循环+来连接时新建线程的方法效率有点低,怎么改进?时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

提前创建好一个线程池,用生产者消费者模型,创建一个任务队列,队列作为临界资源,有了新连接,就挂在到任务队列上,队列为空所有线程睡眠。改进死循环:使用select epoll这样的技术

 类似资料:
  • 问题内容: 问候贵族社区, 我想要以下循环: 这将在使用线程的共享内存四核计算机上并行运行。对于这些线程要执行的代码,正在考虑以下两种选择,其中线程的ID是:0、1、2或3。 (为简单起见,假设为4的倍数) 选项1: 选项2: 我的问题是,是否有一种方法比另一种方法更有效,为什么? 问题答案: 第二个比第一个更好。简单的答案:第二个最小化错误共享 现代CPU不会将字节一一加载到缓存中。它在称为缓存

  • 问题内容: 我不确定这个问题是否与语言无关,因此我将以Java问题的身份提出。如果你有这样的循环 循环的每次迭代都在创建新的内存空间吗?如果是这样,是否要处理旧空间?如果没有,做这样的事情更有效吗 编辑:更新了代码以更好地说明问题 问题答案: 简短的答案:即使在Java中进行开发时,也不要理会这些事情,即使这些问题中的大多数都是由JVM自己处理的。 垃圾收集器将知道该怎么做,并将根据情况尝试做最好

  • 问题内容: 我目前遇到一些问题,以了解为什么在某些情况下Java中的并行化似乎效率低下。在下面的代码中,我构建了4个使用ThreadPool执行的相同任务。 在我的Core i5(2核,4线程)上,如果将工作程序数设置为1,则计算机需要大约5700毫秒,并使用25%的处理器。如果将工作程序数量设置为4,则可以观察到100%的CPU使用率,但是…计算时间是相同的:5700ms,而我希望它可以减少4倍

  • 问题内容: 我突然在我的java-app(使用NetBeans作为IDE)中创建记录器时,突然看到一条警告:“记录器中字符串连接使用效率不高”。 我的原始代码是 但是NetBeans建议将此代码转换为模板(“模板”在这里意味着什么?),并提供以下代码: 这两种串联方式有什么不同,尽管我从未使用过后者。 干杯。 问题答案: 我会忽略该警告(如果可能,请将其关闭)。串联的效率不是那么低,因为现代编译器

  • 问题内容: 我正在编写一个游戏引擎,其中使用for循环迭代保存在a 中的一组对象。显然,效率非常重要,因此我想知道循环的效率。 当返回的秒。我想知道的是,每次循环在新扩展上进行迭代时,是否都调用该方法。如果是这样,这样做会更有效: ?提前致谢。 问题答案: 按照规范,这个成语 扩展成 因此,您询问的呼叫在循环初始化时仅发生一次。这是迭代器对象,其方法被重复调用。 但是,如果您真的对应用程序的性能感

  • 本文向大家介绍用js写出死循环的方法有哪些?相关面试题,主要包含被问及用js写出死循环的方法有哪些?时的应答技巧和注意事项,需要的朋友参考一下