仿写一个Java Thread 底层实现
Java里的线程和操作系统的线程是一一对应的,为了方便理解Thread 类的底层实现,我们可以自己来仿造一个MyThread, 同样接受一个Runable接口,调用start实现run方法。
Java里的线程和操作系统的线程是一一对应的,为了方便理解Thread 类的底层实现,我们可以自己来仿造一个MyThread, 同样接受一个Runable接口,调用start实现run方法。
https://thispointer.com/c-how-to-pass-class-member-function-to-pthread_create/
1 | int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg); |
接受一个参数和返回值都是void * 的函数
class Task
还记得前面编译还了的java - v 有个错误,我们来试一下用Clion debug一下
打开 clion,选择 File->ImportProject,选择到 ../openjdk-8/hotspot 目录。
http://jdk.java.net/
下载源码包然后解压。本地需要一个可用的JDK,直接java -verison可用即可,最好版本低于编译版本