2020-08-24 10:27|阅读:2037
随着信息技术的快速发展,越来越多的人开始学习Java,这里Java培训机构老师整理了Java多线程学习知识点,现在分享给大家,希望能对大家学习Java提供一些帮助。
Java多线程学习知识点总结
随着信息技术的快速发展,越来越多的人开始学习Java,这里Java培训机构老师整理了Java多线程学习知识点,现在分享给大家,希望能对大家学习Java提供一些帮助。
这里先不讲juc包里的多线程类。juc相关内容会在Java并发专题讲解。
1.线程的实现可以通过继承Thread类和实现Runable接口也可以使用线程池。callable配合future可以实现线程中的数据获取。
2.Java中的线程有7种状态,new runable running blocked waiting timewaiting terminate
blocked是线程等待其他线程锁释放。waiting是wait以后线程无限等待其他线程使用notify唤醒timewating是有限时间地等待被唤醒,也可能是sleep固定时间。
3.Thread的join是实例方法,比如a.join(b),则说明a线程要等b线程运行完才会运行。
4.o.wait方法会让持有该对象o的线程释放锁并且进入阻塞状态,notify则是持有o锁对象的线程通知其他等待锁的线程获取锁。notify方法并不会释放锁。注意这两个方法都只能在synchronized同步方法或同步块里使用。
5.synchronized方法底层使用系统调用的mutex锁,开销较大,jvm会为每个锁对象维护一个等待队列,让等待该对象锁的线程在这个队列中等待。当线程获取不到锁时则让线程阻塞,而其他检查notify以后则会通知任意一个线程,所以这个锁时非公平锁。
6.Thread.sleep(),Thread.interrupt()等方法都是类方法,表示当前调用该方法的线程的操作。
一个线程实例连续start两次会抛异常,这是因为线程start后会设置标识,如果再次start则判断为错误。
以上就是关于“Java多线程学习知识点总结”的内容介绍,希望对大家学习有所帮助。想要了解更多关于Java多线程学习培训的相关资讯欢迎来咨询。
声明:该作品系网友上传发布。找课堂仅提供信息发布平台,如若内容有误或侵权请联系删除,我们将按照规定及时处理。