diff --git a/resourceschedule/ffrt/c/queue.h b/resourceschedule/ffrt/c/mode
similarity index 88%
rename from resourceschedule/ffrt/c/queue.h
rename to resourceschedule/ffrt/c/mode
index 19c87469a687b3e6a9c14dde04ffdbd94f9fbf53..76ea5d99c0c461e9f6436a9a3660803b9e3b4827 100644
--- a/resourceschedule/ffrt/c/queue.h
+++ b/resourceschedule/ffrt/c/mode
@@ -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 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).
+ * @since 20
+ */
+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.
+ * @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);
+
/**
* @brief Creates a queue.
*
diff --git a/resourceschedule/ffrt/ffrt.ndk.json b/resourceschedule/ffrt/ffrt.ndk.json
index 84474b74e9e78a4696851d5e8fb3a719875d21b7..de2afba87b9e19d1a03cdd859331c745015b29a5 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" },