课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
线程问题我们在前几期的文章中已经给大家介绍过很多次了,而今天我们就通过案例分析来了解一下,多线程的优势与劣势问题。
1、什么是多线程
多线程意味着你能够在同一个应用程序中运行多个线程,我们知道,指令是在CPU中执行的,多线程应用程序就像是具有多个CPU在同时执行应用程序的代码。
其实这是一种假象,线程数量并不等于CPU数量,单个CPU将在多个线程之间共享CPU的时间片,在给定的时间片内执行每个线程之间的切换,每个线程也可以由不同的CPU执行。
2、并发和并行的关系
并发意味着应用程序会执行多个的任务,但是如果计算机只有一个CPU的话,那么应用程序无法同时执行多个的任务,但是应用程序又需要执行多个任务,所以计算机在开始执行下一个任务之前,它并没有完成当前的任务,只是把状态暂存,进行任务切换,CPU在多个任务之间进行切换,直到任务完成。
优势和劣势
合理使用线程是一门艺术,合理编写一道准确无误的多线程程序更是一门艺术,如果线程使用得当,能够有效的降低程序的开发和维护成本。
Java很好的在用户空间实现了开发工具包,并在内核空间提供系统调用来支持多线程编程,Java支持了丰富的类库java.util.concurrent和跨平台的内存模型,同时也提高了开发人员的门槛,并发一直以来是一个高阶的主题,但是现在,并发也成为了主流开发人员的必备素质。
虽然线程带来的好处很多,但是编写正确的多线程(并发)程序是一件极困难的事情,并发程序的Bug往往会诡异地出现又诡异的消失,在当你认为没有问题的时候它就出现了,难以定位是并发程序的一个特征,所以在此基础上你需要有扎实的并发基本功。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。