@@ -49,7 +49,11 @@ must be split into several tasks.
49
49
50
50
Because the multi-threading system allocates a single thread by CPU, if long running tasks are running, other
51
51
tasks may wait for those tasks to finish if all CPUs are used. While this may be acceptable on a single application
52
- environment, it is recommended to split such long running tasks into smaller tasks.
52
+ environment, it is recommended to split such long running tasks into smaller tasks.
53
+
54
+ A thread pool is also available for long running tasks that cannot be split,
55
+ or tasks using a library with functionalities that may use several physical resources.
56
+ They will be executed in separate threads so they won't block other tasks.
53
57
54
58
A task should not, but is allowed to block. In this case the blocked thread is interrupted and a new thread
55
59
is automatically launched to process other tasks for the same physical resource. Once the task is unblocked,
@@ -66,7 +70,7 @@ then for the same priority in a first-in-first-out order.
66
70
This may be changed by providing a new implementation of TaskPriorityManager.
67
71
68
72
The multi-threading system handles CPU and drives tasks, for network asynchronous operations you can
69
- use the library [ net.lecousin.framework.network] ( https://github.com/lecousin/java-framework-network " java-framework-network ") .
73
+ use the library [ net.lecousin.framework.network.core ] ( https://github.com/lecousin/java-framework-network-core " java-framework-network-core ") .
70
74
71
75
## IO Model
72
76
@@ -84,7 +88,7 @@ and it can resize the IO can be defined as follow:
84
88
85
89
In addition, the model add asynchronous operations (non-blocking).
86
90
87
- See [ Javadoc ] ( https://static. javadoc.io/ net.lecousin/core/0.8.0/net/lecousin/ framework/io/package-summary.html " package io ") for more information.
91
+ See the javadoc of package net.lecousin. framework.io for more information.
88
92
89
93
## Startup
90
94
0 commit comments