多线程之间实现

来源:互联网 发布:淘宝定金尾款是同价格 编辑:程序博客网 时间:2024/06/11 02:50

面试题

1.什么是多线程安全?

当多个线程同时共享数据时候,同一个全局变量或者静态变量,在做写操作的时候,会出现数据冲突问题,也就是线程安全问题。做读的时候是不会发生数据冲突的。

2.如何解决多线程之间的线程安全问题?

使用sync同步或者使用lock锁

3.为什么使用线程sync同步或者使用锁可以解决线程安全问题?

发生冲突数据问题(线程不安全)  只能让当前一个线程执行,执行完成后释放锁,然后才能让其他的线程执行,这样可以解决线程不安全问题

4.什么是线程之间的同步?

当多个线程共享一个资源时候,不会受到其他的线程干扰

5.什么是同步代码块?

例子      

synchronized(同一个数据){

 可能会发生线程冲突问题

}

说白了就是说将 可能发生安全问题的代码  用sync给包括起来

 同步的分类  :    同步函数     和静态同步函数  public staticsync

6.同步代码块和同步函数区别

同步代码块使用的  自定义锁(明锁)

同步函数使用的是  this锁

7.同步函数与静态同步函数区别?

注意:有些面试会这样问:例如现在一个静态方法和一个非静态静态怎么实现同步?

答:

同步函数使用this锁

静态同步函数使用字节码文件,也就是类.class


8.什么是线程死锁

同步中嵌套同步,导致锁无法释放

解决方法:尽量不要同步中嵌套同步






阅读全文
0 0
原创粉丝点击