学校动态  >  java济南教育培训
java济南教育培训
2021-04-15 15:48:12

V4SE$RQTA~VVA1]9YB$XX3R.png

使用java开发多线程机制

近期发多线程机制在JAVA中被开发出来。一般我们开发的程序只有一个main线程,也就是MAIN函数启动。但是在一些不同的场合中,比如从服务器接收命令的过程中,就会需要同时处理多个客户端发送的命令,所以需要为每个客户端建立一个线程。这样就成功建立了一个多线程程序,多线程可以在同一时间段内执行多条的指令,可以让多个逻辑进程并发运行。


3$]WLM}R)~Y1$9}KMD@{JE6.png


在JAVA中定义一个thread是有两种方式的:Runnable接口和Thread类,两者都是由Thread类的start方法启动的,但是真正的执行命令是在run方法中。还有就是线程有几种状态:执行、终止、休眠、挂起等。在某些条件下,每个状态是都可以相互转换的。


}OH`1GT`CG22%E(@FVZMDLF.png


还有两个重要的模型:Producer-consumer模型,就是一个线程产生的任务,由另一个线程执行任务。两个线程之间有一个共享数据区域,可以用队列来表示,但必须是并发的、同步的,同一时间只有一个线程可以访问共享数据队列。这种机制称为同步访问。


3$]WLM}R)~Y1$9}KMD@{JE6.png


线程池模型,这个也就是讲,伴随线程开始创建N个工作线程并启动它们,它们的初始状态都是空闲的。然后观察线程从工作队列中取出一个工作任务,同时从线程池中取出一个空闲线程执行工作任务。执行完任务后,将工作线程从运行状态改为空闲状态,使连续从工作队列中取出的任务由线程池中的空闲线程执行。


$4LJ[7Z0YM3@OC)R%0UHL38.png


线程池模型不需要为每个任务创建一个线程,只需要初始创建N个线程,然后一直使用这N个线程执行工作队列中的任务,大大降低了线程启动和结束的开销。


BXQ2~CFNA@O53YDV$GO[Z34.png


总而言之,多线程编程的关键是线程类的设计和共享数据的设计。同时还要注意区分哪些线程是多线程可以访问的,哪些线程是私有的,以及线程的状态变化。


师资介绍
22.jpg
11.jpg

44.jpg
33.jpg


学校环境
1_compressed.jpg
2_compressed.jpg

3`V~}ZGL}C{BS1I]J2QCCDF.png
众哲鑫培训机构
刘老师:13183000210
联系方式
咨询电话:13183000210
联系老师:刘老师
QQ咨询: