多线程 简化理解

来源:互联网 发布:md5解密java代码 32位 编辑:程序博客网 时间:2024/06/14 21:31

1: 什么是多线程:

都知道电脑cpu是几核几线程的吧!  其实线程就是 程序(进程) 运行在cpu上 时 底层具体的执行单位


2:多线程的意义:

cpu的一个内核 上 实际上是在进行着 多个线程间的高效切换, 也就是 说 并不是 实际意义上的 线程 并行,这是愚蠢的人类感觉不出来,.

 当然啦 多核cup 是可以实现的,但也要看cup能分出多少线程数, 就像java中 配置数据库的时候也会配置最大链接数是一样的道理


就java 来说  , 项目部署在服务器上, 功能存在不同用户多次调用的情况,  cup就会给不同用户每个分配一个线程 , 假如程序中存在类似 IO 等操作, 会造成当前 拥有的cup使用权的线程,会存在使得 cpu 有一段空闲时间, 而这段空闲时间, 其他线程就会利用起来.

说到这里 应该对 多线程有了一个认识


注意:   1:个人理解  初步认识多线程有一个比较难以理解清楚的锚点,   多线程的 主要意义 是为了提高CPU的使用率,  不要一味的以为 多线程是为了 提高程序的执行效率

    2:如果用多线程来提高一个程序的执行效率,你要考率的很多, 首先要看服务的硬件配置 , 如果cpu是一核那就没搞头了, 其次还要看程序具体耗时的地方,是否满足       多线的实现条件

    3:实现多线程 要考虑 程序中 , 线程公共执行的代码块 , 变量等 是否是  符合线程安全的. 


3:多线程的实现方式,: 有 三种  可以百度, (偷个懒)  这里就不一一列举了

原创粉丝点击