全国服务热线:400-035-8011

位置:珠海达内IT教育培训学校 > 学校动态 > java多线程面试宝典

java多线程面试宝典

来源:珠海达内IT教育培训学校时间:2019/12/5 8:51:09

进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。(进程是资源分配的小单位)


java多线程面试宝典


进程间通信主要包括管道, 系统IPC(包括消息队列,信号,共享存储), 套接字(SOCKET).

管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。

线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是cpu调度的小单位)

线程可以创建另外一个线程

进程有独立的虚拟地址空间

同一进程内的线程共享内存等系统资源

线程间同步的方式主要由以下三种:

互斥量,采用互斥对象机制,只有拥有互斥对象的线程才有访问公共资源的权限。因为互斥对象只有一个,所以可以增加公共资源不会被多个线程同时访问

信号量(临界区),它允许同一时刻多个线程访问同一资源,但是需要控制同一时刻访问此资源的大线程数量。当需要一个计数器来限制可以使用某共享资源的线程数目时,可以使用“信号量”对象

事件(信号),通过通知操作的方式来保持多线程同步,还可以方便的实现多线程级的比较操作。即事件机制允许一个线程在处理完一个任务后,主动唤醒另外一个线程执行任务

进程间通信的方法:半双工管道,FIFO(命名管道),消息队列,信号量,共享内存,socket

1、多线程有什么用?

(1)发挥多核CPU的优势 资源利用率提升,程序处理效率提高

(2)防止阻塞,单核CPU我们还是要应用多线程,就是为了防止阻塞

(3)便于建模,分别建立程序模型,并通过多线程分别运行这几个任务

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/1780/news/119468/违者必究! 以上就是珠海达内IT教育培训学校 小编为您整理 java多线程面试宝典的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-035-8011