From fec5190b7673982b9bf9de842f31c370aad90f80 Mon Sep 17 00:00:00 2001 From: Karol Lewandowski Date: Wed, 19 Feb 2025 13:17:49 +0100 Subject: [PATCH] Fix information about blocking context --- .../architectural_overview/threading/execution_contexts.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/topics/basics/architectural_overview/threading/execution_contexts.md b/topics/basics/architectural_overview/threading/execution_contexts.md index 634858761..1a747b65e 100644 --- a/topics/basics/architectural_overview/threading/execution_contexts.md +++ b/topics/basics/architectural_overview/threading/execution_contexts.md @@ -35,9 +35,9 @@ Therefore, if their behavior is required, [switch to a blocking context](#switch ## Blocking Context Executing tasks in a blocking context means executing them on a thread without access to the [coroutine context](#suspending-context-coroutines) (basically, in non-suspending functions) and not under [a progress indicator](#progress-indicator). -Such tasks can't be canceled by using coroutines' or progress indicator's cancellation capabilities, which may block threads and consume resources even if the task is no longer relevant. +Such tasks can still be canceled, but they can't report progress. -Usually, plugins should not execute new code in the blocking context. +Plugins should not execute new code in the blocking context. Always prefer executing tasks in the [suspending context](#suspending-context-coroutines) or under the [progress indicator](#progress-indicator) if a plugin cannot use Kotlin. > Functions which schedule execution via [`Application.executeOnPooledThread()`](%gh-ic%/platform/core-api/src/com/intellij/openapi/application/Application.java)