線程源碼閱讀分析,持續更新中。。。

首先要看的就是 Runnable 接口,only a run() 方法;
接着我們看一下 Thread 類,值得關注的是,靜態代碼塊直接調用了 registerNatives() ,那這個方法有什麼作用呢?經查閱,該方法是爲了讓所有的本地方法可以自定義名稱。
這裏就設計到了,java中的一個比不可少的部分 —— JNI ,詳情自己查閱,大概就是java要調用系統的一些方法或其他語言實現的功能,而這些方法都是有規定好的命名格式(如,Java_lang_Thread_getClass)。這樣比較難記,那麼java是怎麼解決的呢?大概就是java程序員給該方法重命名爲自己喜歡的方式,然後在實現映射,調動registerNatives 方法後,就可以先在映射裏查找,然後再去調用本地方法。

。。。

發佈了39 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章