java添加等待时间_Java中线程等待特定时间的最有效⽅法-
java
我知道这个问题here,但是我有⼀个稍微不同的问题。如果我希望⾃⼰通过各种Thread⽅法(⽽不是通过实⽤程序类或Quartz)⼿动编码某个线程在特定时间的运⾏,那么最有效(就开销⽽⾔)进⾏编码。
我考虑过:
boolean wasInterrupted = false;
while (System.currentTimeMillis() < executionTimeInMillis) {
try {
Thread.sleep(X);
} catch (InterruptedException ie) {
wasInterrupted = true;
}
时间正则表达式java}
if (!wasInterrupted) {
doMyThing();
}
有没有更好的办法?这是原始和天真吗?
参考⽅案
您有3种基本可能性:
Thread.sleep(...):取决于系统计时器和调度程序的精度和准确性,使当前正在执⾏的线程进⼊休眠状态(停⽌执⾏)达指定的毫秒数和指定的纳秒数。该线程不会失去任何监视器的所有权;
Thread.yield():导致当前正在执⾏的线程对象暂时暂停并允许其他线程执⾏;
Java:正则表达式模式匹配器是否有⼤⼩限制? - java
我的模式类似于OR:“word1 | word2 | word3”我⼤约有800个字。可能有问题吗? 参考⽅案 您仅受记忆和理智的限制。 :)Java:线程池如何将线程映射到可运⾏对象 - java
试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执⾏的可运⾏“任务”之间的关系。如果我创建⼀个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务⽆关的“⼯⼈⽆⼈机”可⽤于执⾏任何任务?⽆论哪种⽅式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考⽅案 …JAVA:字节码和⼆进制有什么区别? -java
java字节代码(已编译的语⾔,也称为⽬标代码)与机器代码(当前计算机的本机代码)之间有什么区别?我读过⼀些书,他们将字节码称为⼆进制指令,但我不知道为什么。 参考⽅案 字节码是独⽴于平台的,在Windows中运⾏的编译器编译的字节码仍将在linux / unix / mac中运⾏。机器代码是特定于平台的,如果在Windows x86中编译,则它将仅在Win…java:继承 - java
有哪些替代继承的⽅法? java⼤神给出的解决⽅案 有效的Java:偏重于继承⽽不是继承。 (这实际上也来⾃“四⼈帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作⽤。例如,对super.someMethod()的任何调⽤都可以引导您通过未知代码的意外路径。取⽽代之的是,持有对本来应该扩展的类的引⽤,然后委托给它。这是与Eric…Java:BigInteger,如何通过OutputStream编写它 - java
我想将BigInteger写⼊⽂件。做这个的最好⽅式是什么。当然,我想从输⼊流中读取(使⽤程序,⽽不是⼈⼯)。我必须使⽤ObjectOutputStream还是有更好的⽅法?⽬的是使⽤尽可能少的字节。谢谢马丁 参考⽅案 Java序列化(ObjectOutputStream / ObjectInputStream)是将对象序列化为⼋位字节序列的⼀种通⽤⽅法。但…
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论