课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都开始学习java编程开发的相关技术,而今天我们就一起来了解一下,java编程线程基础概念包含哪些内容。
基础概念:
CPU核心数和线程数之间的关系:
核心数:线程数=1:1
在Inter推出超线程技术之后比例变成了1:2
CPU时间片轮转机制:
虽说线程的数量是有限的,但是我们平时在用的过程中并没有,发现线程受限制,这就涉及到CPU的时间片轮转机制了,也称为RR调度
就是CPU会为不同的线程分配不同大小的执行时间片,当线程执行完毕,或者时间片到时间,或者阻塞,就会进行CPU上下文切换,上下文切换也是需要时间的,需要保存上一个线程的寄存器的值,内存镜像等参数
一次上下文切换大概需要花费5000-20000个时钟周期,无法自己控制,由CPU自行控制
有时候我们发现多线程还不如单线程运行快,就是在这里影响了性能,所以说开发时,尽量减少上下文切换
进程和线程:
进程:程序运行资源分配小单位,进程内部有多个线程,会共享这个进程的资源
线程:CPU调度的小单位,必须依赖进程而存在
并行与并发:
并行:同一时刻,可以同时处理事情的能力
并发:与时间单位相关,在单位时间内可以处理事情的能力
高并发编程的意义好处和注意事项
好处:充分利用CPU资源,加快用户的响应时间,程序模块化,异步化
问题:
线程共享资源存在冲突
容易导致死锁
启用太多的线程,计算机可能宕机
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。