多线程通讯与协作高频面试题及详细答案(实战向).docx

多线程通讯与协作高频面试题及详细答案(实战向).docx

多线程通讯与协作高频面试题及详细答案(实战向)

一、基础核心面试题(初级必问)

1、什么是多线程通讯?为什么多线程需要通讯?

参考答案:

多线程通讯就是多个线程之间互相传递数据、交互状态的过程。

Java里多个线程共用一块堆内存,本身就可以共享对象数据,但之所以需要专门的通讯机制,不是为了“共享数据”,而是为了控制线程执行顺序、协调线程工作状态。

如果没有通讯机制,多个线程各自无序执行,会出现两个核心问题:

1、数据不一致:多个线程同时读写共享变量,出现脏数据、覆盖更新;

2、执行混乱:线程之间工作脱节,比如生产者发了数据,消费者不知道,一直空转;消费者等着数据,生产者没通知,一直阻塞。

文档评论(0)

1亿VIP精品文档

相关文档