1. 程式人生 > >js執行緒的相關學習

js執行緒的相關學習

瀏覽器多執行緒和js單執行緒

參考連結:瀏覽器多執行緒和js單執行緒 參考連結:setTimeout的原理及在JavaScript執行緒執行佇列中的位置 1、JavaScript引擎執行緒(主執行緒): 主執行緒同步執行,其它執行緒非同步執行,等主執行緒程式碼執行完再從訊息佇列中獲取結果繼續執行;所以settime裡的內容永遠會等到主執行緒結束後再執行; 2、GUI渲染執行緒(一定和主執行緒互斥,不能同時執行): dom操作的程式碼會在事件佇列中生成一個任務,js執行到這個任務時就會去呼叫GUI引擎渲染. 3、瀏覽器事件觸發執行緒 4、Http請求執行緒

setTimeOut解析

setTimeOut中的方法只會在主執行緒完成後才開始執行;

	let nodeHandle = findNodeHandle(ref);
    if (nodeHandle) {
        NativeModules.ModuleName.nativeMethod(nodeHandle);
    }

1、呼叫findNodeHandle方法只能在componentDidMount後執行(才可以操作虛擬dom); 2、rn執行nativeMethod時如果需要傳入nodeHandle,必須等js主執行緒結束才有效,比如可以在settimeout中執行該方法;

findNodeHandle

一些效能優化