草庐IT

nio-thread

全部标签

c++ - 类的std::thread调用方法

这个问题在这里已经有了答案:关闭10年前.PossibleDuplicate:Startthreadwithmemberfunction我有一个小类:classTest{public:voidrunMultiThread();private:intcalculate(intfrom,intto);}如何使用两组不同的参数运行方法calculate(例如calculate(0,10),calculate(11,20))在两个线程中来自方法runMultiThread()?PS谢谢我忘了我需要传递this作为参数。 最佳答案 没那么难:

javascript - 当 Node.js 在内部仍然依赖于 Threads 时,它如何天生就更快?

我刚刚观看了以下视频:IntroductiontoNode.js仍然不明白您是如何获得速度优势的。主要是,RyanDahl(Node.js的创建者)曾说过,Node.js是基于事件循环的,而不是基于线程的。线程很昂贵,只能留给并发编程专家使用。随后,他展示了Node.js的架构堆栈,该堆栈具有底层C实现,内部有自己的线程池。所以很明显,Node.js开发人员永远不会启动他们自己的线程或直接使用线程池......他们使用异步回调。这么多我明白了。我不明白的是Node.js仍然在使用线程......它只是隐藏了实现,所以如果50个人请求50个文件(当前不在内存中)那么这会更快吗?需要50个

java - Thread.sleep 与 TimeUnit.SECONDS.sleep

如果我要调用让Java线程进入休眠状态,是否有理由选择其中一种形式而不是另一种形式?Thread.sleep(x)或TimeUnit.SECONDS.sleep(y) 最佳答案 TimeUnit.SECONDS.sleep(x)将调用Thread.sleep.唯一的区别是可读性和使用TimeUnit对于不明显的持续时间可能更容易理解(例如:Thread.sleep(180000)与TimeUnit.MINUTES.sleep(3))。引用如下TimeUnit中sleep()的代码:publicvoidsleep(longtimeou

Java NIO : What does IOException: Broken pipe mean?

这个问题在这里已经有了答案:Howtofixjava.net.SocketException:Brokenpipe?(10个回答)关闭3年前。对于我的一些JavaNIO连接,当我有一个SocketChannel.write(ByteBuffer)调用时,它会抛出一个IOException:"Brokenpipe"。是什么导致“管道破裂”,更重要的是,是否有可能从该状态中恢复?如果无法恢复,这似乎是一个好兆头,表明发生了不可逆转的问题,我应该简单地关闭这个套接字连接。这是一个合理的假设吗?是否有过这种IOException发生的时候,而套接字连接仍然首先正确连接(而不是在某个时候失败的工

java - Java 中的 Timer 和 TimerTask 与 Thread + sleep

我在这里发现了类似的问题,但没有令我满意的答案。所以再次改写问题-我有一项需要定期完成的任务(比如1分钟间隔)。与创建具有无限循环sleep的新线程相比,使用Timertask和Timer执行此操作有什么优势?使用timertask的代码片段-TimerTaskuploadCheckerTimerTask=newTimerTask(){publicvoidrun(){NewUploadServer.getInstance().checkAndUploadFiles();}};TimeruploadCheckerTimer=newTimer(true);uploadCheckerTime

java - 为什么没有 “while(true)” 的 “Thread.sleep” 在 Linux 上会导致 100% 的 CPU 使用率,但在 Windows 上却不会?

我在java中创建了一个简单的程序:publicstaticvoidmain(String[]args)throwsInterruptedException{while(true);}如果我在Linux机器上运行它,它会显示100%的CPU使用率,但不会导致操作系统看起来很慢。但是,如果我在Windows上运行完全相同的代码,它只会显示大约20%的CPU使用率。我在Windows上使用OracleJRE,在Linux上使用OpenJDK6。我想知道Windows的调度程序是否会随机抢占线程而Linux不会? 最佳答案 默认情况下,L

java - JavaScript 中 Java 的 Thread.sleep() 等价物是什么?

这个问题在这里已经有了答案:WhatistheJavaScriptversionofsleep()?(91个回答)关闭4年前。Java的Thread.sleep()在JavaScript中的等价物是什么? 最佳答案 简单的回答是没有这个功能。你拥有的最接近的东西是:varmillisecondsToWait=500;setTimeout(function(){//Whateveryouwanttodoafterthewait},millisecondsToWait);请注意,您尤其是不想忙着等待(例如在自旋循环中),因为您的浏览器几

java - 从 java.io.File 获取 java.nio.file.Path 对象

是否可以从java.io.File中获取Path对象?我知道您可以使用toFile()方法将路径转换为文件,但我找不到相反的转换。有没有办法在Java6或更低版本中做到这一点? 最佳答案 是的,您可以从File获得它对象使用File.toPath().请记住,这仅适用于Java7+。Java6及以下版本没有。 关于java-从java.io.File获取java.nio.file.Path对象,我们在StackOverflow上找到一个类似的问题: https

java - Thread start() 和 Runnable run() 有什么区别

假设我们有这两个Runnable:classR1implementsRunnable{publicvoidrun(){…}…}classR2implementsRunnable{publicvoidrun(){…}…}那么这有什么区别:publicstaticvoidmain(){R1r1=newR1();R2r2=newR2();r1.run();r2.run();}还有这个:publicstaticvoidmain(){R1r1=newR1();R2r2=newR2();Threadt1=newThread(r1);Threadt2=newThread(r2);t1.start()

c++ - C++ 11 thread_local变量是否自动静态?

这两个代码段有区别吗:voidf(){thread_localvectorV;V.clear();...//useVasatemporaryvariable}和voidf(){staticthread_localvectorV;V.clear();...//useVasatemporaryvariable}背景故事:最初我有一个STATICvectorV(用于保存一些中间值,每次进入函数时它都会被清除)和一个单线程程序。我想把程序变成一个多线程的程序,所以我必须以某种方式摆脱这个静态修饰符。我的想法是把每一个静态都变成thread_local,而不用担心别的?这种方法会适得其反吗?