在java中并发编程的本质是什么,首先说道并发编程就就必须说一下什么是线程
在java中是没有自己的线程,java对于线程的调用都是调用的操作系统本身的线程、并且java中的线程和操作系统的线程都是1v1对应
那么java是如何调用操作系统中的线程呢 如图:
![](https://img-blog.csdnimg.cn/20201103170422294.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyOTU1ODAw,size_16,color_FFFFFF,t_70#pic_center)
首先java中的对象调用一个start方法
start方法中调用本地的一个文件Thread.C中的start0方法
start0方法会让JVM实列化一个C++对象叫javaThread对象
这个对象会判断当前的操作系统,根据不同的操作系统会调用操作系统函数库中创建线程的方法
如图:如果是linux系统 会调用pthread_create方法