首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

带你搞懂Java多线程(一)

什么是多线程

  • 多线程也叫并发编程,那么在写多线程之前,我们先来了解一下并发编程的基础概念。 ①CPU核心数和线程数的关系 核心即CPU,多核就是将多个CPU集成到一个芯片内,每个处理器都是单独的,核心数和线程数是一比一的关系,Interl使用超线程技术,将一个物理CPU模拟成两个逻辑CPU核心数和线程数实现一比二。 即如果一个4核CPU使用超线程技术,就可以同时运行8个线程,未使用超线程技术的话,则同时运行4个线程。 ②CPU时间轮转机制 也叫RR调度,可以理解为将CPU的运行时间进行切片,每一个片当作一个操作系统 ③什么叫线程,什么叫进程 进程:操作系统在运行时分配的最小单位。 线程:CPU调度的最小单位。 进程>线程,线程依附于进程存在,同一个进程中的线程共享进程里的资源。 进程和CPU没有任何关系。 Linux 最多1000个线程数,Windows最多线程数2000。 能不能指定CPU跑某个线程 Java层不能,Linux层内核API可以通过C语言来指定。 ④并行和并发 并行,同时运行的线程数。 并发,同一时间单位内执行任务的个数。 ⑤高并发编程的意义、好处和注意事项 充分使用CPU的资源,提高处理速度,模块化、异步化、简单化。 注意安全问题,一个进程中的变量,进程中的所有线程都对它可以进行操作。线程是有数量限制的,如果超出限制会导致宕机,因为线程切换会将未处理完的资源放到内存中,如果过多放不下,就会宕机。 带你搞懂Java多线程(二)
下一篇
举报
领券