1.同步方法和同步代码块的区别是什么?
在java语言中,每一个对象由一把锁。线程可以使用synchronized关键字来获取对象上的锁。synchronized关键字可应用在方法级别或是代码块级别。
2.多线程有什么弊端?
1.降低了一个进程里面的线程的执行频率。
2.对线程进行管理要求额外的cpu开销。线程的使用会给系统带来上下文窃魂的额外负担。
3.公有变量的同时读或写。当多个线程需要对公有变量进行写操作时,后一个线程往往会修改掉前一个线程存放的数据,发生线程安全的问题。
4.线程的死锁。即较长时间的等待或者资源竞争以及死锁等多线程症状。
3.实现接口方式和继承方式有什么区别?
1.java中是不允许实现多继承的,但是如果一个A类中有一部分代码需要多线程执行,采用第一种方法实现的话,就继承Thread类,不能再继续继承其他类,限制了A类功能的扩展。
2.java已经考虑到这种情况了,采用第二种实现多线程的方法的话,既可以在继承其他功能类的同时,可以通过实现接口的方法实现多线程。
3.实现接口的好处:避免了单继承的局限性。
网友评论