1: 什么是多线程:
都知道电脑cpu是几核几线程的吧! 其实线程就是 程序(进程) 运行在cpu上 时 底层具体的执行单位
2:多线程的意义:
cpu的一个内核 上 实际上是在进行着 多个线程间的高效切换, 也就是 说 并不是 实际意义上的 线程 并行,这是愚蠢的人类感觉不出来,.
当然啦 多核cup 是可以实现的,但也要看cup能分出多少线程数, 就像java中 配置数据库的时候也会配置最大链接数是一样的道理
就java 来说 , 项目部署在服务器上, 功能存在不同用户多次调用的情况, cup就会给不同用户每个分配一个线程 , 假如程序中存在类似 IO 等操作, 会造成当前 拥有的cup 使用权的线程,会存在使得 cpu 有一段空闲时间, 而这段空闲时间, 其他线程就会利用起来.
说到这里 应该对 多线程有了一个认识
注意: 1:个人理解 初步认识多线程有一个比较难以理解清楚的锚点, 多线程的 主要意义 是为了提高CPU的使用率, 不要一味的以为 多线程是为了 提高程序的执行效率
2:如果用多线程来提高一个程序的执行效率,你要考率的很多, 首先要看服务的硬件配置 , 如果cpu是一核那就没搞头了, 其次还要看程序具体耗时的地方,是否满足 多线的实现条件
3:实现多线程 要考虑 程序中 , 线程公共执行的代码块 , 变量等 是否是 符合线程安全的.
3:多线程的实现方式,: 有 三种 可以百度, (偷个懒) 这里就不一一列举了