2018年9月24日

摘要: 两者都是Thread类的静态方法,定义如下 public static void sleep(long millis) throws InterruptedException public static void yield() 1)sleep()方法给其他线程机会时不会考虑线程的优先级,因此会给低 阅读全文
posted @ 2018-09-24 22:25 0820LL 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 通过调用线程类的start()方法来启动一个线程,使线程处于就绪状态,即可以被JVM来调度执行,在调度过程中,JVM通过调用线程类的run()方法来完成实际的业务逻辑,当run()方法结束后,此线程就会终止。 如果直接调用线程类的run()方法,会被当作一个普通的函数调用,程序中仍然只有主线程这一个 阅读全文
posted @ 2018-09-24 19:42 0820LL 阅读(2460) 评论(0) 推荐(0) 编辑
摘要: 所谓同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或者继续执行后续操作。 异步跟同步相对,当一个异步调用发出后,调用者在没有得到结果之前,就可以继续执行后续操作。当这个调用完成后,一般通过状态、通知和回调的方式来通知调用者。对于异步调用,调用的返回并不受调用者控制。 根据同步的定义 阅读全文
posted @ 2018-09-24 18:17 0820LL 阅读(1448) 评论(0) 推荐(0) 编辑
摘要: 问题 在 int i = 0; i = i++; 语句中,i = i++是线程安全的么?如果不安全,请说明上面操作在JVM中的执行过程,为什么不安全?说出JDK中哪个类能达到以上的效果,并且是线程安全而且高效的,简述其原理。 回答 语句 i = i++;不是线程安全的。 该语句执行过程如下, 先把 阅读全文
posted @ 2018-09-24 13:31 0820LL 阅读(7934) 评论(0) 推荐(0) 编辑

导航