草庐IT

nio-thread

全部标签

python - Julia 中的并行性 : Native Threading Support

在他们的arXivpaper,Julia的原作者提到以下内容:2.14Parallelism.Parallelexecutionisprovidedbyamessage-basedmulti-processingsystemimplementedinJuliainthestandardlibrary.Thelanguagedesignsupportstheimplementationofsuchlibrariesbyprovidingsymmetriccoroutines,whichcanalsobethoughtofascooperativelyscheduledthreads.Th

python - py.test 运行成功后,模块 'threading' 中的 KeyError

我正在使用py.test运行一组测试。他们通过。伊皮!但我收到这条消息:ExceptionKeyError:KeyError(4427427920,)inignored我应该如何去追踪它的来源?(我没有直接使用线程,而是使用gevent。) 最佳答案 我观察到了一个类似的问题,并决定看看到底发生了什么——让我描述一下我的发现。我希望有人会觉得它有用。短篇故事它确实与猴子修补threading有关。模块。事实上,我可以通过在猴子修补线程之前导入线程模块来轻松触发异常。以下两行就足够了:importthreadingimportgeve

python - threading.Timer - 每 'n' 秒重复一次函数

我想每0.5秒触发一次功能,并能够启动和停止以及重置计时器。我不太了解Python线程的工作原理,并且在使用Python计时器时遇到了困难。但是,当我执行threading.timer.start()两次时,我不断收到RuntimeError:threadscanonlystartonce。有解决办法吗?我尝试在每次开始之前应用threading.timer.cancel()。伪代码:t=threading.timer(0.5,function)whileTrue:t.cancel()t.start() 最佳答案 最好的方法是启动一

python - OS X ("ImportError: cannot import name _thread"上的 Matplotlib 问题)

在过去几天的某个时候,Matplotlib在OSX上停止为我工作。这是我在尝试importmatplotlib时遇到的错误:Traceback(mostrecentcalllast):File"/my/path/to/script/my_script.py",line15,inimportmatplotlib.pyplotaspltFile"/Library/Python/2.7/site-packages/matplotlib/pyplot.py",line34,infrommatplotlib.figureimportFigure,figaspectFile"/Library/Py

python - Python 中的 "thread local storage"是什么,我为什么需要它?

具体来说,在Python中,变量如何在线程之间共享?虽然我之前使用过threading.Thread,但我从未真正理解或看到变量如何共享的示例。它们是在主线程和子线程之间共享还是仅在子线程之间共享?我什么时候需要使用线程本地存储来避免这种共享?我看到了很多关于使用锁在线程之间同步访问共享数据的警告,但我还没有看到一个很好的问题示例。提前致谢! 最佳答案 在Python中,所有东西都是共享的,除了函数局部变量(因为每个函数调用都有自己的一组局部变量,并且线程总是单独的函数调用。)即使那样,只有变量本身(引用的名称toobjects)是

java - Jetty 和其他容器如何在遵守 Servlet 规范的同时利用 NIO?

我是NIO的新手,我正在尝试弄清楚Jetty如何利用NIO。我对传统servlet容器如何使用BlockingIO服务请求的理解如下:请求到达分配一个线程来处理请求并调用servlet方法(doGet等)Servlet方法被传递一个InputStream和OutputStreamservlet方法从InputStream读取并写入OutputStreamInputStream和OutputStream基本上与底层Socket的各自流相关联使用NIO连接器有什么不同?我的猜测是这样的:请求到达Jetty使用NIO连接器并异步缓冲整个请求读取请求后,将缓冲区完全包装在InputStream

java - 如何选择 java nio 和 io?

众所周知,如果我们要使用传统的IO来构建服务器,它必须在某个地方阻塞,所以我们不得不使用循环或一线程一套接字模式,所以nio似乎是更好的选择。所以我想知道nio是否永远是更好的选择? 最佳答案 恕我直言,阻塞IO通常是最简单的使用方式,除非您有特定要求对系统提出更多要求,否则您应该坚持使用最简单的选项。下一个最简单的选项是阻塞NIO,如果我想要比IO更高效或控制的东西,我通常更喜欢阻塞NIO。它仍然相对简单,但允许您使用ByteBuffers。例如ByteBuffers支持小端。一个常见的选项是使用带有选择器的非阻塞NIO。这引入的

c# - 什么时候使用 Thread.Sleep() 是明智的?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭10年前。我总是看到人们使用Thread.Sleep()来制造处理延迟或类似的东西,人们总是因为这样使用它而受到mock。什么时候需要使用Thread.Sleep()? 最佳答案 当您确实需要后台线程延迟时,您应该调用Thread.sleep()。不要调用它来帮助同步(它不会),不要在循环中调用它来等待某些

java - 从其 ID 获取对 Thread 对象的引用

如果我知道与该线程关联的ID,我如何获得对正在运行的线程的引用?例如longthreadID=12342;Threadthread=(Whatgoeshere?)getThreadFromId(threadID);//Iknowthisistotallymadeup 最佳答案 您有两种方法可以做到这一点。两者都很简单:老方法:获取你可以在循环中访问Thread.currentThread().getGroup()..getParent()的根线程组。并调用enumerate(Thread[])较新(虽然较慢)。for(Threadt

Java - 替代 thread.sleep

我需要将while循环暂停特定的毫秒数。我曾尝试使用Thread.sleep(duration)但它不准确,尤其是在循环场景中。毫秒精度在我的程序中很重要。这是在expectedElapsedTime过去之前我不想回去检查条件的算法。while(condition){time=System.currentTimeMillis();//dosomethingif(elapsedTime(time) 最佳答案 试试ScheduledThreadPoolExecutor.它应该提供更可靠的计时结果。