多线程的运用,该如何解决

多线程的运用
最近在面试java服务端,常提的问题就是“项目中的多线程的运用”。无奈,多线程用得不多,能总结的经验更少的可怜。各位帮忙说说看。
------解决思路----------------------
面服务端岗位,肯定问并发线程之类的问题。
就你平时用过的,同步、通信、内存共享、数据交互等说就是了,但不懂的千万别说做过,漏了馅还不如说不会。
------解决思路----------------------
多线程运用,一个方面是指,哪些应用场景下需要使用多线程;例如,一个socket服务端处理客户端过来的请求,这里肯定要多线程,再例如你的一个代码逻辑需要10个步骤完成,而在第三个步骤要去调用另外一个独立的东西,例如驱动一个硬件设备,驱动硬件设备这里显然最好是开另外一条线程,不然在同一个线程中,要么阻塞等返回,要么就另开一条线程。如果驱动失败整个流程就死掉了,显然不对,即使驱动失败,原流程应该正常继续,而仅仅是硬件不可用而已。另一方面;就是使用了多线程后,要考虑数据安全问题,和性能问题。这两个就复杂了,三言两语说不清楚,只有做过才会有体会。
------解决思路----------------------
去看看《java并发编程实战》
------解决思路----------------------
队列的消费者。程序往一个队列里不停的放消息,多个消费者(线程)消费数据,也是典型的多线程运用撒。