general_threading_rules.md: updates for 2023.3

This commit is contained in:
Yann Cébron 2023-10-02 09:36:33 +02:00
parent 23798cf2ec
commit a777d915cf
4 changed files with 31 additions and 2 deletions

View File

@ -72,6 +72,9 @@ NOTE: Entries not starting with code quotes (`name`) can be added to document no
### IntelliJ Platform 2023.3 ### IntelliJ Platform 2023.3
Threading Model changes
: Please see updated [](general_threading_rules.md).
Removal of commons-lang2 and commons-collections libraries Removal of commons-lang2 and commons-collections libraries
: _commons-lang2_ library is going to be removed, a temporary compatibility layer (marked with `@Deprecated(forRemoval = true)` to highlight usages) is bundled. : _commons-lang2_ library is going to be removed, a temporary compatibility layer (marked with `@Deprecated(forRemoval = true)` to highlight usages) is bundled.
Please consider migrating to either _commons-lang3_ or _commons-text_ libraries and bundle them with your plugin. Please consider migrating to either _commons-lang3_ or _commons-text_ libraries and bundle them with your plugin.

View File

@ -13,6 +13,9 @@ _Early Access Program_ (EAP) releases of upcoming versions are available [here](
### IntelliJ Platform 2023.3 ### IntelliJ Platform 2023.3
Threading Model changes
: Please see updated [](general_threading_rules.md).
External Annotators in Dumb Mode External Annotators in Dumb Mode
: [](syntax_highlighting_and_error_highlighting.md#external-annotator) can now run in during indexing. : [](syntax_highlighting_and_error_highlighting.md#external-annotator) can now run in during indexing.

View File

@ -18,11 +18,31 @@ You must not access the model outside a read or write action for the following s
- [](virtual_file_system.md) (VFS) - [](virtual_file_system.md) (VFS)
- [Project root model](project_structure.md). - [Project root model](project_structure.md).
> Threading model has changed in 2023.3, please make sure to choose the correct version below.
>
{title="2023.3 Threading Model Changes" style="warning"}
### Read Access ### Read Access
<tabs group="threading">
<tab title="2023.3 and later" group-key="newThreading">
Reading data is allowed from any thread.
Read operations need to be wrapped in a read action (RA) if not invoked via `Application.invokeLater()`.
</tab>
<tab title="Earlier versions" group-key="oldThreading">
Reading data is allowed from any thread. Reading data is allowed from any thread.
Reading data from the UI thread does not require any special effort. Reading data from the UI thread does not require any special effort.
However, read operations performed from any other thread need to be wrapped in a read action (RA). However, read operations performed from any other thread need to be wrapped in a read action (RA).
</tab>
</tabs>
The corresponding objects are not guaranteed to survive between several consecutive read actions. The corresponding objects are not guaranteed to survive between several consecutive read actions.
As a rule of thumb, whenever starting a read action, check if the PSI/VFS/project/module is still valid. As a rule of thumb, whenever starting a read action, check if the PSI/VFS/project/module is still valid.

View File

@ -1,7 +1,7 @@
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
# Content Updates # Content Updates
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<link-summary>Notable updates and additions to this documentation.</link-summary> <link-summary>Notable updates and additions to this documentation.</link-summary>
This page lists notable additions and updates to the SDK documentation and [](code_samples.md). This page lists notable additions and updates to the SDK documentation and [](code_samples.md).
@ -21,6 +21,9 @@ Run Configuration Macros
Inlay Hints Inlay Hints
: Update [](inlay_hints.md) page with the information about new APIs. : Update [](inlay_hints.md) page with the information about new APIs.
Threading Model
: Update [](general_threading_rules.md) to reflect changes in 2023.3 platform.
### June ### June
{#june-23} {#june-23}