摘要: 1、yield()介绍 yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其他具有相同优先级的等待进程获取执行权;但是,并不能保证在当前线程调用yield()之后,其他具有相同优先级的线程就一定能获得执行权;也有可能是当前线程又进入到“运行状态”继续运行 2、yiel 阅读全文
posted @ 2020-05-04 00:40 qumasha 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 1、wait(),notify(),notifyAll()等方法介绍 在object.java中,定义了wait(),notify(),notifyAll()等接口。wait()的作用是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。而notify()和notifyAll( 阅读全文
posted @ 2020-05-04 00:38 qumasha 阅读(673) 评论(0) 推荐(0) 编辑
摘要: 1、synchronized原理 在Java中,每一个对象有且仅有一个同步锁。这也意味着同步锁依赖于对象而存在 当我们调用某对象的synchronized方法时,就获得了该对象的同步锁。例如,synchronized(obj)就获取了"obj这个对象"的同步锁 不同线程对同步锁的访问是互斥的,也即, 阅读全文
posted @ 2020-05-04 00:31 qumasha 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 1、start()和run()的区别说明 start():它的作用是启动一个新线程,新线程会执行相应的run()方法。start()不能被重复调用。 run():run()和普通的成员方法一样,可以被重复调用,单独调用run(),会在当前线程中执行run(),而不会启动新线程 class MyThr 阅读全文
posted @ 2020-05-04 00:22 qumasha 阅读(262) 评论(0) 推荐(0) 编辑
摘要: Thread和Runnable 1、简介 Runnable是一个接口,该接口中只包含了一个run()方法。它的定义为: public interface Runnable { public abstract void run() } Runnable的作用为实现多线程。我们可以定义一个类A,实现Ru 阅读全文
posted @ 2020-05-04 00:19 qumasha 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 线程的五个状态: 1、新建状态(New): 线程对象被创建之后,就进入新建状态。 Thread thread = new Thread(); 2、就绪状态(Runnable):线程对象被创建之后,其他线程调用了该对象的start()方法,从而来启动该进程。 thread.start(); 处于就绪态 阅读全文
posted @ 2020-05-04 00:15 qumasha 阅读(112) 评论(0) 推荐(0) 编辑