/ohos5.0/docs/zh-cn/third-party-cases/ |
H A D | app_quality_improvement_cases_about_crash.md | 43 JS为单线程,没有锁,严格意义上不支持多线程,线程间的调度需要使用ArkUI统一的调度函数uv_queue_work来处理多线程调度问题。 55 Napi 提供了创建新线程的方法:napi_get_uv_event_loop,但只能在JS主线程中使用,uv_queue_work只能处理napi_get_uv_event_loop创建的线程,不… 69 …原有消息事件处理中 直接调用napi_call_function 的方式改为 napi_get_uv_event_loop方式创建新的线程,uv_queue_work队列方式管理新线程调度,在新线…
|
/ohos5.0/docs/zh-cn/application-dev/reference/native-lib/ |
H A D | libuv.md | 84 int ret = uv_queue_work(loop, work, execute, complete); 453 | [Request概念及相关接口](#libuv中的handles和requests) | uv_queue_work | 456 | [线程池概念及相关接口](#线程池) | uv_queue_work | 734 uv_queue_work(loop, work, [](uv_work_t* req) { 746 uv_queue_work(loop, work, [](uv_work_t* work) { 751 uv_queue_work(loop, work, [](...) {/* do something*/}, [](...) { 762 ##### uv_queue_work流程 765 ##### uv_queue_work使用约束 769 `uv_queue_work`仅限于在loop线程中调用,这样不会有多线程安全问题。**请不要把uv_queue_work作为线程间通信的手段,即A线程获取到B线程的loop,并通过`uv_queu… 1105 int uv_queue_work(uv_loop_t* loop, [all …]
|
/ohos5.0/foundation/filemanagement/user_file_service/test/unittest/ |
H A D | js_file_access_ext_ability_test.cpp | 206 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(-1)); 211 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 243 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(-1)); 249 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(-1)); 255 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(-1)); 375 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 383 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 399 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); in MockNapiCalls() 414 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); in MockNapiFunctionCalls() 437 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); in MockNapiFunctionCallsForCopy() [all …]
|
H A D | js_file_access_ext_ability_ex_test.cpp | 39 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 46 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 55 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 93 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 105 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 148 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 160 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 182 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); in CallListFileHeadSucceed() 263 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 281 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); [all …]
|
H A D | js_file_access_ext_ability_other_test.cpp | 69 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 77 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 86 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 173 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 254 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 262 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 272 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 310 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 531 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); 538 EXPECT_CALL(*insMoc, uv_queue_work(_, _, _, _)).WillOnce(Return(0)); [all …]
|
/ohos5.0/docs/zh-cn/application-dev/performance/ |
H A D | native-threads-call-js.md | 36 …置环境变量 UV_THREADPOOL_SIZE 的值,可以自定义线程池中的线程数量。当线程池初始化时,会创建相应数量的工作线程,并在每个线程内部运行一个 uv_queue_work 函数。 39 #### uv_queue_work subsubsection 41 uv_queue_work(uv_loop_t* loop, 46 初始化一个工作请求,通过调用uv_queue_work函数,可以安排指定的任务,在与事件循环(event loop)关联的线程池中的一个线程上执行。一旦该任务(即work_cb回调函数)完成其操作,… 52 需要注意的是,尽管uv_queue_work方法本身不直接涉及NAPI(Node-API)接口,但当涉及到与JavaScript线程交互时,特别是从native层向JavaScript层传递数据并触… 220 接口接收到ArkTS传入的JavaScript回调函数后创建子线程,在子线程的执行函数CallbackUvWorkTest中创建工作任务workReq,通过uv_queue_work将工作任务添加到… 249 uv_queue_work(loop, workReq, WorkCallback, AfterWorkCallback);
|
/ohos5.0/foundation/bundlemanager/bundle_framework/interfaces/kits/js/launchermgr/ |
H A D | bundle_status_callback.cpp | 47 int ret = uv_queue_work( in ~BundleStatusCallback() 96 int ret = uv_queue_work( in OnBundleAdded() 162 int ret = uv_queue_work( in OnBundleUpdated() 231 int ret = uv_queue_work( in OnBundleRemoved()
|
/ohos5.0/docs/zh-cn/application-dev/napi/ |
H A D | napi-guidelines.md | 142 **【规则】** 当使用uv_queue_work方法将任务抛到JS线程上面执行的时候,对JS线程的回调方法,一般情况下需要加上napi_handle_scope来管理回调方法创建的napi_val… 144 使用uv_queue_work方法,不会走Node-API框架,此时需要开发者自己合理使用napi_handle_scope来管理napi_value的生命周期。 148 > 本规则旨在强调napi_value生命周期情况,若只想往JS线程抛任务,**不推荐**使用uv_queue_work方法。如有抛任务的需要,请使用[napi_threadsafe_functio… 160 uv_queue_work( 162 // 请注意,uv_queue_work会创建一个线程并执行该回调函数,若开发者只想往JS线程抛任务,不推荐使用uv_queue_work,以避免冗余的线程创建
|
/ohos5.0/foundation/distributeddatamgr/data_share/frameworks/js/napi/observer/src/ |
H A D | napi_observer.cpp | 114 int ret = uv_queue_work( in OnChange() 147 int ret = uv_queue_work( in OnChange()
|
/ohos5.0/foundation/filemanagement/app_file_service/interfaces/kits/js/backup/ |
H A D | general_callbacks.cpp | 52 int ret = uv_queue_work( in ~BackupRestoreCallback() 127 int ret = uv_queue_work( in CallJsMethod()
|
/ohos5.0/foundation/filemanagement/app_file_service/tests/unittests/backup_ext/ |
H A D | ext_backup_js_test.cpp | 826 EXPECT_CALL(*napiMock, uv_queue_work(_, _, _, _)).WillOnce(Return(1)); 832 EXPECT_CALL(*napiMock, uv_queue_work(_, _, _, _)).WillOnce(DoAll(WithArgs<1, 3>(Invoke( 1053 …EXPECT_CALL(*napiMock, uv_queue_work(_, _, _, _)).WillOnce(WithArgs<1>(Invoke([](uv_work_t* work) { in __anonc3409c9d0b02() 1066 …EXPECT_CALL(*napiMock, uv_queue_work(_, _, _, _)).WillOnce(WithArgs<1>(Invoke([](uv_work_t* work) { in __anonc3409c9d0c02() 1101 …EXPECT_CALL(*napiMock, uv_queue_work(_, _, _, _)).WillOnce(WithArgs<1>(Invoke([](uv_work_t* work) { in __anonc3409c9d0e02() 1138 …EXPECT_CALL(*napiMock, uv_queue_work(_, _, _, _)).WillOnce(WithArgs<1>(Invoke([](uv_work_t* work) { in __anonc3409c9d1002() 1151 …EXPECT_CALL(*napiMock, uv_queue_work(_, _, _, _)).WillOnce(WithArgs<1>(Invoke([](uv_work_t* work) { in __anonc3409c9d1102() 1186 …EXPECT_CALL(*napiMock, uv_queue_work(_, _, _, _)).WillOnce(WithArgs<1>(Invoke([](uv_work_t* work) { in __anonc3409c9d1302() 1224 …EXPECT_CALL(*napiMock, uv_queue_work(_, _, _, _)).WillOnce(WithArgs<1>(Invoke([](uv_work_t* work) { in __anonc3409c9d1502() 1237 …EXPECT_CALL(*napiMock, uv_queue_work(_, _, _, _)).WillOnce(WithArgs<1>(Invoke([](uv_work_t* work) { in __anonc3409c9d1602() [all …]
|
/ohos5.0/foundation/multimedia/player_framework/frameworks/js/player/ |
H A D | player_callback_napi.cpp | 293 int ret = uv_queue_work(loop, work, [] (uv_work_t *work) {}, [] (uv_work_t *work, int status) { in OnJsCallBack() 345 int ret = uv_queue_work(loop, work, [] (uv_work_t *work) {}, [] (uv_work_t *work, int status) { in OnJsCallBackError() 412 int ret = uv_queue_work(loop, work, [] (uv_work_t *work) {}, [] (uv_work_t *work, int status) { in OnJsCallBackInt() 468 int ret = uv_queue_work(loop, work, [] (uv_work_t *work) {}, [] (uv_work_t *work, int status) { in OnJsCallBackIntVec() 535 int ret = uv_queue_work(loop, work, [] (uv_work_t *work) {}, [] (uv_work_t *work, int status) { in OnJsCallBackIntArray() 592 int ret = uv_queue_work(loop, work, [] (uv_work_t *work) {}, [] (uv_work_t *work, int status) { in OnJsCallBackInterrupt()
|
/ohos5.0/foundation/filemanagement/user_file_service/test/unittest/mock/ |
H A D | assistant.h | 42 virtual int uv_queue_work(uv_loop_t*, uv_work_t*, uv_work_cb, uv_after_work_cb) = 0; 77 MOCK_METHOD4(uv_queue_work, int(uv_loop_t*, uv_work_t*, uv_work_cb, uv_after_work_cb));
|
H A D | js_native_api_mock.cpp | 19 int uv_queue_work(uv_loop_t* loop, uv_work_t* req, uv_work_cb work_cb, uv_after_work_cb after_work_… in uv_queue_work() function 27 return OHOS::FileAccessFwk::Assistant::ins_->uv_queue_work(loop, req, work_cb, after_work_cb); in uv_queue_work()
|
/ohos5.0/foundation/distributeddatamgr/relational_store/frameworks/js/napi/common/src/ |
H A D | js_uv_queue.cpp | 64 int ret = uv_queue_work(loop_, work, DoWork, DoUvCallback); in AsyncCall() 116 int ret = uv_queue_work(loop_, work, DoWork, DoUvPromise); in AsyncPromise() 143 … int ret = uv_queue_work(loop_, work, DoExecute, [](uv_work_t *work, int status) { delete work; }); in Execute()
|
/ohos5.0/foundation/filemanagement/app_file_service/tests/mock/napi/include/ |
H A D | napi_mock.h | 39 virtual int uv_queue_work(uv_loop_t*, uv_work_t*, uv_work_cb, uv_after_work_cb) = 0; 75 MOCK_METHOD4(uv_queue_work, int(uv_loop_t*, uv_work_t*, uv_work_cb, uv_after_work_cb));
|
/ohos5.0/foundation/communication/bluetooth/frameworks/js/napi/src/ble/ |
H A D | napi_bluetooth_ble_central_manager_callback.cpp | 171 uv_queue_work( in SysOnScanCallBack() 272 int ret = uv_queue_work( in OnBleBatchScanResultsEvent() 323 uv_queue_work( in OnStartOrStopScanEvent()
|
/ohos5.0/foundation/arkui/ace_engine/adapter/ohos/entrance/dynamic_component/ |
H A D | uv_task_wrapper_impl.cpp | 47 uv_queue_work( in Call()
|
/ohos5.0/base/hiviewdfx/faultloggerd/tools/crasher_cpp/ |
H A D | dfx_crasher.cpp | 638 uv_queue_work(req->loop, req, WorkCallback, AfterWorkCallback); in AfterWorkCallback() 658 uv_queue_work(loop, &work, WorkCallback, AfterWorkCallback); in CrashInLibuvWork() 680 uv_queue_work(loop, &work, WorkCallback, AfterWorkCallback); in CrashInLibuvTimer() 703 uv_queue_work(loop, &work, WorkCallback2, CrashAfterWorkCallback); in CrashInLibuvWorkDone()
|
/ohos5.0/foundation/filemanagement/file_api/utils/filemgmt_libn/src/n_async/ |
H A D | n_async_work_callback.cpp | 70 int ret = uv_queue_work( in ~NAsyncWorkCallback() 234 int ret = uv_queue_work( in ThreadSafeSchedule()
|
/ohos5.0/foundation/multimedia/player_framework/frameworks/js/recorder/ |
H A D | recorder_callback_napi.cpp | 127 int ret = uv_queue_work(loop, work, [] (uv_work_t *work) {}, [] (uv_work_t *work, int status) { in OnJsStateCallBack() 178 int ret = uv_queue_work(loop, work, [] (uv_work_t *work) {}, [] (uv_work_t *work, int status) { in OnJsErrorCallBack()
|
/ohos5.0/foundation/resourceschedule/background_task_mgr/interfaces/kits/napi/src/ |
H A D | request_suspend_delay.cpp | 91 int32_t ret = uv_queue_work(loop, work, [](uv_work_t *work) {}, UvQueueWorkDeleteRef); in DeleteNapiRef() 179 int32_t ret = uv_queue_work(loop, work, [](uv_work_t *work) {}, UvQueueWorkOnExpired); in OnExpired()
|
/ohos5.0/foundation/multimedia/player_framework/frameworks/js/audio_haptic/src/audio_haptic_player/ |
H A D | audio_haptic_player_callback_napi.cpp | 126 int ret = uv_queue_work(loop, work, [] (uv_work_t *work) {}, [] (uv_work_t *work, int status) { in OnInterruptJsCallback() 199 int ret = uv_queue_work(loop, work, [] (uv_work_t *work) {}, [] (uv_work_t *work, int status) { in OnEndOfStreamJsCallback()
|
/ohos5.0/foundation/multimedia/media_library/frameworks/services/media_backup_extension/src/ |
H A D | medialibrary_backup_napi.cpp | 114 uv_queue_work(loop, work, [](uv_work_t *work) { in UvQueueWork() 213 uv_queue_work(loop, work, [](uv_work_t *work) { in UvQueueWorkEx() 331 uv_queue_work(loop, work, [](uv_work_t *work) { in UvBackupWork()
|
/ohos5.0/foundation/filemanagement/app_file_service/tests/mock/napi/src/ |
H A D | napi_mock.cpp | 19 int uv_queue_work(uv_loop_t* loop, uv_work_t* req, uv_work_cb work_cb, uv_after_work_cb after_work_… in uv_queue_work() function 21 … return OHOS::FileManagement::Backup::Napi::napi->uv_queue_work(loop, req, work_cb, after_work_cb); in uv_queue_work()
|