所有語言如何實現異步回調?如何實現異步回調?
例如在C++中,需要有一個「監視線程」來啓動std::async
。如果它在主線程中啓動,它必須等待回調。
std::thread t{[]{std::async(callback_function).get();}}.detach();
v.s.
std::async(callback_function).get(); //Main thread will have to wait
JavaScript中的異步回調怎麼樣?在JS回調中大量使用... V8如何實現它們? V8是否會創建大量線程來偵聽它們並在獲取消息時執行回調?還是它使用一個線程來監聽所有回調並保持清爽?
例如,
setInterval(function(){},1000);
setInterval(function(){},2000);
不V8創建2個線程和監控每個回調狀態,或者它有一個游泳池的事情來監控所有的回調?
AFAIK,SO主要用於特定的編程問題。也許程序員.stackexchange.com更適合這個問題? – Johan
相關:[Nodejs事件循環](http://stackoverflow.com/q/10680601/1048572) – Bergi
可能重複[如何單線程非阻塞IO模型在Node.js中工作](http://stackoverflow.com/questions/14795145/how-the-single-threaded-non-blocking-io-model-works-in-node-js) – usr