From dfdce7a7335340a883da99fac4752fd220af2544 Mon Sep 17 00:00:00 2001 From: mazhabandeng Date: Tue, 15 Jul 2025 20:37:26 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=98=9F=E5=88=97=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=AE=BE=E7=BD=AE=E4=BB=A5=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E8=BF=90=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: mazhabandeng --- resourceschedule/ffrt/c/queue.h | 27 +++++++++++++++++++++++++++ resourceschedule/ffrt/ffrt.ndk.json | 2 ++ 2 files changed, 29 insertions(+) diff --git a/resourceschedule/ffrt/c/queue.h b/resourceschedule/ffrt/c/queue.h index 19c87469a68..7b2a5e9ebd8 100644 --- a/resourceschedule/ffrt/c/queue.h +++ b/resourceschedule/ffrt/c/queue.h @@ -151,6 +151,33 @@ FFRT_C_API void ffrt_queue_attr_set_max_concurrency(ffrt_queue_attr_t* attr, con */ FFRT_C_API int ffrt_queue_attr_get_max_concurrency(const ffrt_queue_attr_t* attr); +/** + * @brief Sets the execution mode of a queue attribute. + * + * This interface sepcifies whether tasks in the queue are excuted in coroutine mode or thread mode. + * By default, tasks are executed in coroutine mode. + * Set legacy_mode to true to enable thread-based execution. + * + * @param attr Queue attribute pointer. + * @param legacy_mode Indicates whether to enable thread-based execution mode. + - true: Tasks are executed as native threads (legacy mode). + - false: Tasks are executed as coroutines (default). + * @since 20 + */ +FFRT_C_API int ffrt_queue_attr_set_mode(const ffrt_queue_attr_t* attr, const bool legacy_mode); + +/** + * @brief Gets the execution mode of a queue attribute. + * + * This interface returns whether tasks in the queue are configured to run in thread-based execution mode (legacy mode). + * + * @param attr Queue attribute pointer. + * @param Returns true if tasks are executed as native threads (legacy mode). + returns false if tasks are executed as coroutines (default). + * @since 20 + */ +FFRT_C_API bool ffrt_queue_attr_get_mode(const ffrt_queue_attr_t* attr); + /** * @brief Creates a queue. * diff --git a/resourceschedule/ffrt/ffrt.ndk.json b/resourceschedule/ffrt/ffrt.ndk.json index 84474b74e9e..de46facf43f 100644 --- a/resourceschedule/ffrt/ffrt.ndk.json +++ b/resourceschedule/ffrt/ffrt.ndk.json @@ -127,6 +127,8 @@ { "name": "ffrt_loop_timer_stop" }, { "name": "ffrt_queue_attr_set_max_concurrency" }, { "name": "ffrt_queue_attr_get_max_concurrency" }, + { "name": "ffrt_queue_attr_set_mode" }, + { "name": "ffrt_queue_attr_get_mode" }, { "name": "ffrt_get_main_queue" }, { "name": "ffrt_get_current_queue" }, { "name": "ffrt_task_attr_set_queue_priority" }, -- Gitee From 4f66daf741f9202351ce49a3fcfdb0fa645dd988 Mon Sep 17 00:00:00 2001 From: GQ Date: Wed, 16 Jul 2025 03:06:41 +0000 Subject: [PATCH 2/4] update resourceschedule/ffrt/c/queue.h. Signed-off-by: GQ --- resourceschedule/ffrt/c/{queue.h => mode} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename resourceschedule/ffrt/c/{queue.h => mode} (100%) diff --git a/resourceschedule/ffrt/c/queue.h b/resourceschedule/ffrt/c/mode similarity index 100% rename from resourceschedule/ffrt/c/queue.h rename to resourceschedule/ffrt/c/mode -- Gitee From a8b1a34791142721517cab1c7b4d88ad021d7841 Mon Sep 17 00:00:00 2001 From: GQ Date: Wed, 16 Jul 2025 03:11:32 +0000 Subject: [PATCH 3/4] update resourceschedule/ffrt/c/mode. Signed-off-by: GQ --- resourceschedule/ffrt/c/mode | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/resourceschedule/ffrt/c/mode b/resourceschedule/ffrt/c/mode index 7b2a5e9ebd8..76ea5d99c0c 100644 --- a/resourceschedule/ffrt/c/mode +++ b/resourceschedule/ffrt/c/mode @@ -154,26 +154,26 @@ FFRT_C_API int ffrt_queue_attr_get_max_concurrency(const ffrt_queue_attr_t* attr /** * @brief Sets the execution mode of a queue attribute. * - * This interface sepcifies whether tasks in the queue are excuted in coroutine mode or thread mode. + * This interface specifies whether tasks in the queue are executed in coroutine mode or thread mode. * By default, tasks are executed in coroutine mode. * Set legacy_mode to true to enable thread-based execution. * * @param attr Queue attribute pointer. * @param legacy_mode Indicates whether to enable thread-based execution mode. - - true: Tasks are executed as native threads (legacy mode). - - false: Tasks are executed as coroutines (default). + - true: Tasks are executed as native threads (legacy mode). + - false: Tasks are executed as coroutines (default). * @since 20 */ -FFRT_C_API int ffrt_queue_attr_set_mode(const ffrt_queue_attr_t* attr, const bool legacy_mode); - +FFRT_C_API void ffrt_queue_attr_set_mode(ffrt_queue_attr_t* attr, const bool legacy_mode); + /** * @brief Gets the execution mode of a queue attribute. * * This interface returns whether tasks in the queue are configured to run in thread-based execution mode (legacy mode). * * @param attr Queue attribute pointer. - * @param Returns true if tasks are executed as native threads (legacy mode). - returns false if tasks are executed as coroutines (default). + * @return Returns true if tasks are executed as native threads (legacy mode). + returns false if tasks are executed as coroutines (default). * @since 20 */ FFRT_C_API bool ffrt_queue_attr_get_mode(const ffrt_queue_attr_t* attr); -- Gitee From 55b64590f495deee8e7f408ffa40adb55036230c Mon Sep 17 00:00:00 2001 From: GQ Date: Wed, 16 Jul 2025 03:14:42 +0000 Subject: [PATCH 4/4] update resourceschedule/ffrt/ffrt.ndk.json. Signed-off-by: GQ --- resourceschedule/ffrt/ffrt.ndk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resourceschedule/ffrt/ffrt.ndk.json b/resourceschedule/ffrt/ffrt.ndk.json index de46facf43f..de2afba87b9 100644 --- a/resourceschedule/ffrt/ffrt.ndk.json +++ b/resourceschedule/ffrt/ffrt.ndk.json @@ -128,7 +128,7 @@ { "name": "ffrt_queue_attr_set_max_concurrency" }, { "name": "ffrt_queue_attr_get_max_concurrency" }, { "name": "ffrt_queue_attr_set_mode" }, - { "name": "ffrt_queue_attr_get_mode" }, + { "name": "ffrt_queue_attr_get_mode" }, { "name": "ffrt_get_main_queue" }, { "name": "ffrt_get_current_queue" }, { "name": "ffrt_task_attr_set_queue_priority" }, -- Gitee