Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
byit-myth-job
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liyuan
byit-myth-job
Commits
f43f8a44
Commit
f43f8a44
authored
Aug 14, 2020
by
huangfusuper
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
还原扫描线程为线程池运行
parent
d305f1e6
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
28 deletions
+23
-28
BaseDaemonScanThreadRunHelper.java
.../java/com/byit/factory/BaseDaemonScanThreadRunHelper.java
+19
-24
DaemonScanThreadRunHelperRedisLock.java
.../com/byit/factory/DaemonScanThreadRunHelperRedisLock.java
+4
-4
No files found.
byit-myth-core/myth-admin-core/src/main/java/com/byit/factory/BaseDaemonScanThreadRunHelper.java
View file @
f43f8a44
...
...
@@ -49,10 +49,6 @@ public abstract class BaseDaemonScanThreadRunHelper implements DaemonScanThreadR
*/
public
static
final
Set
<
String
>
LOCK_NAMES
=
new
HashSet
<>(
8
);
/**
* 扫描线程数量
*/
public
static
ThreadPoolExecutor
SCAN_WORLD_THREAD
=
ThreadPoolUtil
.
createFixedLengthThreadPoolExecutor
(
"scan flow stream thread"
,
THREAD_RUN_OPT
.
entrySet
().
size
());
/**
...
...
@@ -71,27 +67,26 @@ public abstract class BaseDaemonScanThreadRunHelper implements DaemonScanThreadR
*/
@Override
public
void
logoutThreadGroup
()
{
//
THREAD_GROUP_STOP = true;
//
Set<Map.Entry<String, Thread>> threadExamples = THREADS_MAP.entrySet();
//
threadExamples.forEach(threadExample ->{
//
log.warn("------------开始注销线程{}------------",threadExample);
//
String threadName = threadExample.getKey();
//
Thread thread = threadExample.getValue();
//
dateAligned(CLOSE_WAIT_TIME,threadName);
//
//判断线程是否处于终止状态
//
if(thread.getState() != Thread.State.TERMINATED){
//
thread.interrupt();
//
//
try {
//
thread.join();
//
} catch (InterruptedException e) {
//
e.printStackTrace( );
//
}
//
}
//
log.warn("--------{}线程被注销---------",threadName);
//
});
THREAD_GROUP_STOP
=
true
;
Set
<
Map
.
Entry
<
String
,
Thread
>>
threadExamples
=
THREADS_MAP
.
entrySet
();
threadExamples
.
forEach
(
threadExample
->{
log
.
warn
(
"------------开始注销线程{}------------"
,
threadExample
);
String
threadName
=
threadExample
.
getKey
();
Thread
thread
=
threadExample
.
getValue
();
dateAligned
(
CLOSE_WAIT_TIME
,
threadName
);
//判断线程是否处于终止状态
if
(
thread
.
getState
()
!=
Thread
.
State
.
TERMINATED
){
thread
.
interrupt
();
try
{
thread
.
join
();
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
(
);
}
}
log
.
warn
(
"--------{}线程被注销---------"
,
threadName
);
});
SCAN_WORLD_THREAD
.
shutdown
();
LOCK_NAMES
.
forEach
(
lockName
->{
log
.
warn
(
"--------{}锁消除---------"
,
lockName
);
...
...
byit-myth-core/myth-admin-core/src/main/java/com/byit/factory/DaemonScanThreadRunHelperRedisLock.java
View file @
f43f8a44
...
...
@@ -25,12 +25,12 @@ public class DaemonScanThreadRunHelperRedisLock extends BaseDaemonScanThreadRunH
/**
* 扫描线程数量
*/
public
static
ThreadPoolExecutor
SCAN_WORLD_THREAD
=
null
;
//
public static ThreadPoolExecutor SCAN_WORLD_THREAD = null;
@Override
public
void
runDaemonThreads
()
{
Set
<
Map
.
Entry
<
String
,
BaseThreadRunHelper
>>
entries
=
THREAD_RUN_OPT
.
entrySet
();
SCAN_WORLD_THREAD
=
ThreadPoolUtil
.
createFixedLengthThreadPoolExecutor
(
"scan flow stream thread"
,
entries
.
size
());
//
SCAN_WORLD_THREAD = ThreadPoolUtil.createFixedLengthThreadPoolExecutor("scan flow stream thread",entries.size());
entries
.
forEach
(
threadExamples
->{
String
examplesKey
=
threadExamples
.
getKey
();
BaseThreadRunHelper
examplesValue
=
threadExamples
.
getValue
();
...
...
@@ -70,8 +70,8 @@ public class DaemonScanThreadRunHelperRedisLock extends BaseDaemonScanThreadRunH
});
exampleThread
.
setName
(
threadName
);
exampleThread
.
setDaemon
(
true
);
SCAN_WORLD_THREAD
.
execute
(
exampleThread
);
//exampleThread.start()
//
SCAN_WORLD_THREAD.execute(exampleThread);
exampleThread
.
start
();
THREADS_MAP
.
put
(
threadName
,
exampleThread
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment