#ForkJoinPool #FixedThreadPool #parallelStream #stream
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°Ρ Π² ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ Π·ΠΎΠ½Π΅ ΠΊΠΎΠ΄Π° Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ FixedThreadPool ΠΏΡΠΈ ΠΏΠΎΠ΄Π½ΡΡΠΈΠΈ parallelStream(), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΎΠ½ ΡΠΎΠ·Π΄Π°ΡΡ Π²Π½ΡΡΡΠΈ ΡΡΡΠΈΠΌΠ° Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ForkJoinPool - ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π½Π°Ρ ΠΊΠ°ΡΠ°.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΆΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ ΡΡΡΠΈΠΌ ΡΡΠ°ΡΡΡΠ΅Ρ Π²Π½ΡΡΡΠΈ ΠΏΠΎΡΠΎΠΊΠ° ΡΠΈΠΏΠ° fork join, ΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΡΠ°Π½ΠΈΡΡ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠΎΠ² Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΠΈΠΌΠ° ΠΎΠ½ ΠΏΠΎΠΉΠΌΠ΅Ρ ΠΏΠΎ ΡΠΈΠΏΡ ΠΏΠΎΡΠΎΠΊΠ°, ΡΡΠΎ ΡΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ ForkJoinPool ΠΈ ΡΡΡΠΈΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°.
ΠΠ° ΡΠΊΡΠΈΠ½Π΅ Π² ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΏΠ»ΠΎΡ Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΈ Π²ΠΈΠ΄Π½Ρ ΠΎΠ±ΡΡΠ½ΡΠ΅ (Π½Π΅ fork join) ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡΠ»ΠΈ Π² ΡΡΡΠΈΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π² ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ fork join ΠΏΠΎΡΠΎΠΊΠΈ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΄Π΅Ρ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
ΠΠΎΡ ΡΠ°ΠΊ.
ΠΡΠΈ Π΄Π²Π° ΡΠΈΠΏΠ° ΠΏΠΎΡΠΎΠΊΠΎΠ² Π½Π΅ "ΡΠ·Π½Π°ΡΡ" Π΄ΡΡΠ³ Π΄ΡΡΠ³Π° Π² ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΡΡΡΠΈΠΌΠ°Ρ .
Π’ΠΈΠΏΠ° "ΡΠΉ ΡΠΎΠ²Π°ΡΠΈΡ, ΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ ΡΡΡΠΈΠΌ Π²Π½ΡΡΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΈ Π½Π΅ΡΠ΅Π³ΠΎ Π³ΠΎΡΠΎΠ΄ΠΈΡΡ Π΅ΡΡ ΠΎΠ΄Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ Π² ΡΠ΅Π±Π΅".
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°Ρ Π² ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ Π·ΠΎΠ½Π΅ ΠΊΠΎΠ΄Π° Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ FixedThreadPool ΠΏΡΠΈ ΠΏΠΎΠ΄Π½ΡΡΠΈΠΈ parallelStream(), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΎΠ½ ΡΠΎΠ·Π΄Π°ΡΡ Π²Π½ΡΡΡΠΈ ΡΡΡΠΈΠΌΠ° Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ForkJoinPool - ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π½Π°Ρ ΠΊΠ°ΡΠ°.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΆΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ ΡΡΡΠΈΠΌ ΡΡΠ°ΡΡΡΠ΅Ρ Π²Π½ΡΡΡΠΈ ΠΏΠΎΡΠΎΠΊΠ° ΡΠΈΠΏΠ° fork join, ΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΡΠ°Π½ΠΈΡΡ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠΎΠ² Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΠΈΠΌΠ° ΠΎΠ½ ΠΏΠΎΠΉΠΌΠ΅Ρ ΠΏΠΎ ΡΠΈΠΏΡ ΠΏΠΎΡΠΎΠΊΠ°, ΡΡΠΎ ΡΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ ForkJoinPool ΠΈ ΡΡΡΠΈΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°.
ΠΠ° ΡΠΊΡΠΈΠ½Π΅ Π² ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΏΠ»ΠΎΡ Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΈ Π²ΠΈΠ΄Π½Ρ ΠΎΠ±ΡΡΠ½ΡΠ΅ (Π½Π΅ fork join) ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡΠ»ΠΈ Π² ΡΡΡΠΈΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π² ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ fork join ΠΏΠΎΡΠΎΠΊΠΈ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΄Π΅Ρ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
ΠΠΎΡ ΡΠ°ΠΊ.
ΠΡΠΈ Π΄Π²Π° ΡΠΈΠΏΠ° ΠΏΠΎΡΠΎΠΊΠΎΠ² Π½Π΅ "ΡΠ·Π½Π°ΡΡ" Π΄ΡΡΠ³ Π΄ΡΡΠ³Π° Π² ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΡΡΡΠΈΠΌΠ°Ρ .
Π’ΠΈΠΏΠ° "ΡΠΉ ΡΠΎΠ²Π°ΡΠΈΡ, ΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ ΡΡΡΠΈΠΌ Π²Π½ΡΡΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΈ Π½Π΅ΡΠ΅Π³ΠΎ Π³ΠΎΡΠΎΠ΄ΠΈΡΡ Π΅ΡΡ ΠΎΠ΄Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ Π² ΡΠ΅Π±Π΅".
β€1π€―1
#coffee #javastory #java
ΠΠΎΡΠ΅ Ρ ΠΆΠΈΠ²ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΡΠΎΠ²Π° Π―Π²Π° (Java).
ΠΠΎΡΠ΅ Π±ΡΠ» Π·Π°Π²Π΅Π·Π΅Π½ Π² ΠΠ½Π΄ΠΎΠ½Π΅Π·ΠΈΡ Π³ΠΎΠ»Π»Π°Π½Π΄ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΡΠ°ΠΌΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ 17 Π²Π΅ΠΊΠ°. ΠΠΎΡΠ΅ΠΉΠ½ΡΠ΅ ΡΠ΅ΠΌΠ΅Π½Π° Π±ΡΠ»ΠΈ ΡΠ°ΠΉΠ½ΠΎ Π²ΡΠ²Π΅Π·Π΅Π½Ρ ΠΈΠ· ΠΠ΅ΠΌΠ΅Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° 100 Π»Π΅Ρ ΡΠ°Π½ΡΡΠ΅. Π ΡΠ»ΠΎΠ²Ρ, ΡΠΌΠ΅ΡΡ ΠΠ½Π΄ΠΎΠ½Π΅Π·ΠΈΠΈ Π―Π²Ρ ΠΈ ΠΠ΅ΠΌΠ΅Π½Π° ΠΠΎΠΊΠΊΠΈ ΡΡΠ°Π»Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠΎΡΠ΅ΠΉΠ½ΠΎΠΉ ΡΠΌΠ΅ΡΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊ ΠΈ Π½Π°Π·ΡΠ²Π°Π»Π°ΡΡ β Β«ΠΠΎΠΊΠΊΠ° Π―Π²Π°Β».
ΠΠΎΡΠ΅ Ρ ΠΆΠΈΠ²ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΡΠΎΠ²Π° Π―Π²Π° (Java).
ΠΠΎΡΠ΅ Π±ΡΠ» Π·Π°Π²Π΅Π·Π΅Π½ Π² ΠΠ½Π΄ΠΎΠ½Π΅Π·ΠΈΡ Π³ΠΎΠ»Π»Π°Π½Π΄ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΡΠ°ΠΌΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ 17 Π²Π΅ΠΊΠ°. ΠΠΎΡΠ΅ΠΉΠ½ΡΠ΅ ΡΠ΅ΠΌΠ΅Π½Π° Π±ΡΠ»ΠΈ ΡΠ°ΠΉΠ½ΠΎ Π²ΡΠ²Π΅Π·Π΅Π½Ρ ΠΈΠ· ΠΠ΅ΠΌΠ΅Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° 100 Π»Π΅Ρ ΡΠ°Π½ΡΡΠ΅. Π ΡΠ»ΠΎΠ²Ρ, ΡΠΌΠ΅ΡΡ ΠΠ½Π΄ΠΎΠ½Π΅Π·ΠΈΠΈ Π―Π²Ρ ΠΈ ΠΠ΅ΠΌΠ΅Π½Π° ΠΠΎΠΊΠΊΠΈ ΡΡΠ°Π»Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠΎΡΠ΅ΠΉΠ½ΠΎΠΉ ΡΠΌΠ΅ΡΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊ ΠΈ Π½Π°Π·ΡΠ²Π°Π»Π°ΡΡ β Β«ΠΠΎΠΊΠΊΠ° Π―Π²Π°Β».
#StringBuilder #concat #String
StringBuilder Π΄Π»Ρ ΡΠΊΠ»Π΅ΠΉΠΊΠΈ ΡΡΡΠΈΠ½Π³ΠΎΠ² Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠΈΠΏΠ° "+" ΠΈΠ»ΠΈ .concat().
Π Π°Π·Π½ΠΈΡΠ° Π² ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ - Π² ΡΠ°Π·Ρ.
- ΠΠΆΠΎΡΡΠ° ΠΠ»ΠΎΡ "Effective Java" ΡΡΡ. 279
StringBuilder Π΄Π»Ρ ΡΠΊΠ»Π΅ΠΉΠΊΠΈ ΡΡΡΠΈΠ½Π³ΠΎΠ² Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠΈΠΏΠ° "+" ΠΈΠ»ΠΈ .concat().
Π Π°Π·Π½ΠΈΡΠ° Π² ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ - Π² ΡΠ°Π·Ρ.
- ΠΠΆΠΎΡΡΠ° ΠΠ»ΠΎΡ "Effective Java" ΡΡΡ. 279
#ThreadName #setName #ThreadIndex
ΠΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠΎΠΊΠΈ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΡΠ°ΠΊ ΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠ»Π° ΠΏΠΎΡΠΎΠΊΠΎΠ².
ΠΠ° ΡΠΊΡΠΈΠ½Π΅ ΠΏΡΠΈΠΌΠ΅Ρ - ΠΊΠ°ΠΊ Π·Π°Π΄Π°ΡΡ ΠΈΠΌΡ Π΄Π»Ρ ForkJoin ΠΏΠΎΡΠΎΠΊΠΎΠ² Ρ Π΄ΠΎΠ±Π°Π²ΠΊΠΎΠΉ Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π² ΠΏΡΠ»Π΅.
ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ½ΡΡΡ ΠΎΡΠΊΡΠ΄Π° (ΠΈΠ· ΠΊΠ°ΠΊΠΎΠ³ΠΎ ThreadPool) ΡΡΠΎΡ ΠΏΠΎΡΠΎΠΊ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΎ ΡΠ΅Π±Π΅ Π² Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅.
ΠΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠΎΠΊΠΈ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΡΠ°ΠΊ ΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠ»Π° ΠΏΠΎΡΠΎΠΊΠΎΠ².
ΠΠ° ΡΠΊΡΠΈΠ½Π΅ ΠΏΡΠΈΠΌΠ΅Ρ - ΠΊΠ°ΠΊ Π·Π°Π΄Π°ΡΡ ΠΈΠΌΡ Π΄Π»Ρ ForkJoin ΠΏΠΎΡΠΎΠΊΠΎΠ² Ρ Π΄ΠΎΠ±Π°Π²ΠΊΠΎΠΉ Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π² ΠΏΡΠ»Π΅.
ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ½ΡΡΡ ΠΎΡΠΊΡΠ΄Π° (ΠΈΠ· ΠΊΠ°ΠΊΠΎΠ³ΠΎ ThreadPool) ΡΡΠΎΡ ΠΏΠΎΡΠΎΠΊ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΎ ΡΠ΅Π±Π΅ Π² Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅.
π₯1
function_init_apply.JPG
46.6 KB
#Function
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Function<Table, Boolean> checkPortionLoad - ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΡ.
Π£Π΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° checkPortionLoad.apply() Π½Π° Π²Ρ ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ ΡΠΎΠΆΠ΅ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Boolean) ΠΏΡΡΠΌ Π² ΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ Π³Π΄Π΅ Π½Π°Π΄ΠΎ.
ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ "ΡΠ½Π°ΡΡΠΆΠΈ" ΠΊΠ»Π°ΡΡΠ°.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Function<Table, Boolean> checkPortionLoad - ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΡ.
Π£Π΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° checkPortionLoad.apply() Π½Π° Π²Ρ ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ ΡΠΎΠΆΠ΅ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Boolean) ΠΏΡΡΠΌ Π² ΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ Π³Π΄Π΅ Π½Π°Π΄ΠΎ.
ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ "ΡΠ½Π°ΡΡΠΆΠΈ" ΠΊΠ»Π°ΡΡΠ°.
π€1
