石家庄博为峰IT教育

试听课 + 活动课
填写信息优先获取试听课

位置:学校首页 > 学校动态>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则判断为错误。

  温馨提示:想要了解更多课程安排、开班时间、优惠活动、学费地址等欢迎随时来电咨询并领取试听资格!

领取试听课
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
版权所有:搜学搜课(www.soxsok.com) 技术支持:搜学搜课网