如何調用cas?
Jvm調底層的c或者c++代碼是通過native修飾的方法找到c /c++中與之同名的文件。
比如拿AtomicInteger源碼來說,它也用到了cas,其中最終調用java中Unsafe類的compareAndSet方法,這個方法最后會找到c/c++的Unsafe.cpp文件。該文件中有個同名的方法。如果說的更深一些,里邊涉及到lockifmp了,lock匯編指令等。
如何調用cas?
Jvm調底層的c或者c++代碼是通過native修飾的方法找到c /c++中與之同名的文件。
比如拿AtomicInteger源碼來說,它也用到了cas,其中最終調用java中Unsafe類的compareAndSet方法,這個方法最后會找到c/c++的Unsafe.cpp文件。該文件中有個同名的方法。如果說的更深一些,里邊涉及到lockifmp了,lock匯編指令等。