调整文件路径
This commit is contained in:
parent
64c4ed3248
commit
1f6407c515
|
|
@ -1,9 +0,0 @@
|
|||
using System;
|
||||
|
||||
namespace ClassLibrary1
|
||||
{
|
||||
public class Class1
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.1</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -1,122 +0,0 @@
|
|||
|
||||
|
||||
namespace HuanMeng.DotNetCore.Processors
|
||||
{
|
||||
/// <summary>
|
||||
/// 包含处理线程的Processor
|
||||
/// </summary>
|
||||
public abstract class ThreadProcessor : BaseProcessor
|
||||
{
|
||||
/// <summary>
|
||||
/// 处理线程
|
||||
/// </summary>
|
||||
protected Thread? _thread = null;
|
||||
|
||||
/// <summary>
|
||||
/// 是否运行处理器
|
||||
/// </summary>
|
||||
protected bool _isRunProc = true;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public ThreadProcessor()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行处理
|
||||
/// </summary>
|
||||
public override void Run()
|
||||
{
|
||||
try
|
||||
{
|
||||
_isRunProc = true;
|
||||
|
||||
_thread = new Thread(new ThreadStart(Proc_Do));
|
||||
_thread.Start();
|
||||
|
||||
// LogHelper.Info($"ThreadProcessor.Run已执行");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// LogHelper.Error($"ThreadProcessor.Run,error", ex);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 线程处理函数
|
||||
/// </summary>
|
||||
protected abstract void Proc_Do();
|
||||
//{
|
||||
// LogHelper.Info($"ThreadProcessor.Proc_Do已执行");
|
||||
|
||||
// ////demo
|
||||
// ////处理流程
|
||||
// //while (_isRunProc)
|
||||
// //{
|
||||
// // try
|
||||
// // {
|
||||
// // //DoProeess();
|
||||
// // //简单示例Sleep
|
||||
// // Thread.Sleep(10000);
|
||||
// // }
|
||||
// // catch (Exception ex)
|
||||
// // {
|
||||
// // LogHelper.Error("ThreadProcessor.Proc_Do,DoProeess异常", ex);
|
||||
// // }
|
||||
// //}
|
||||
//}
|
||||
|
||||
//demo
|
||||
///// <summary>
|
||||
///// 执行流程处理
|
||||
///// </summary>
|
||||
//protected virtual void DoProeess()
|
||||
//{
|
||||
// //简单示例
|
||||
// try
|
||||
// {
|
||||
// //简单示例Sleep
|
||||
// Thread.Sleep(10000);
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// LogHelper.Error("ThreadProcessor.Proc_Do,异常", ex);
|
||||
// }
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 停止处理线程
|
||||
/// </summary>
|
||||
public override void Stop()
|
||||
{
|
||||
//加快停止服务的速度,可以用任务执行,不等待结束
|
||||
//Task.Run(() =>
|
||||
//{
|
||||
_isRunProc = false;
|
||||
|
||||
//等待完成停止
|
||||
if (_thread != null && _thread.IsAlive)
|
||||
{
|
||||
_thread.Join(WaitTimeMax_StopProc); //等待线程结束
|
||||
_thread = null;
|
||||
}
|
||||
// LogHelper.Info($"ThreadProcessor.Stop已执行");
|
||||
//});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Dispose
|
||||
/// </summary>
|
||||
public override void Dispose()
|
||||
{
|
||||
//停止处理线程
|
||||
_isRunProc = false;
|
||||
this.Stop();
|
||||
|
||||
base.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.1</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -3,9 +3,21 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
|||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.10.34916.146
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HuanMeng.Model", "HuanMeng.Model\HuanMeng.Model.csproj", "{96AA1BD6-E279-4DEA-90C1-6124710E480F}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{443B77DF-BB15-4DF7-8F45-C54FE6F51AB9}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HuanMeng.DotNetCore", "HuanMeng.DotNetCore\HuanMeng.DotNetCore.csproj", "{CCE9E3F9-75DF-4422-A5FD-6B8DBA21B03F}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "0-core", "0-core", "{DD14191F-22CE-48D8-A944-B8A41C97ACD4}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "1-service", "1-service", "{868BF208-7222-482B-B331-1A8482532F1B}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "2-api", "2-api", "{0C0B6EB5-E41D-46D9-9F60-90D320A2EEF3}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3-client", "3-client", "{23416FDA-19AE-487D-BCAA-5A9D04746500}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "5-console", "5-console", "{F34C5BC4-8810-4D6A-B003-AFE12D7ED4BA}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "9-test", "9-test", "{8D39E84B-2810-41D7-AFE6-0A58E09E34C3}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HuanMeng.DotNetCore", "src\0-core\HuanMeng.DotNetCore\HuanMeng.DotNetCore.csproj", "{B9014C9B-B47D-4900-9EA7-4FE8998C30BE}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
|
@ -13,18 +25,23 @@ Global
|
|||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{96AA1BD6-E279-4DEA-90C1-6124710E480F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{96AA1BD6-E279-4DEA-90C1-6124710E480F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{96AA1BD6-E279-4DEA-90C1-6124710E480F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{96AA1BD6-E279-4DEA-90C1-6124710E480F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CCE9E3F9-75DF-4422-A5FD-6B8DBA21B03F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CCE9E3F9-75DF-4422-A5FD-6B8DBA21B03F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CCE9E3F9-75DF-4422-A5FD-6B8DBA21B03F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CCE9E3F9-75DF-4422-A5FD-6B8DBA21B03F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B9014C9B-B47D-4900-9EA7-4FE8998C30BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B9014C9B-B47D-4900-9EA7-4FE8998C30BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B9014C9B-B47D-4900-9EA7-4FE8998C30BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B9014C9B-B47D-4900-9EA7-4FE8998C30BE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{DD14191F-22CE-48D8-A944-B8A41C97ACD4} = {443B77DF-BB15-4DF7-8F45-C54FE6F51AB9}
|
||||
{868BF208-7222-482B-B331-1A8482532F1B} = {443B77DF-BB15-4DF7-8F45-C54FE6F51AB9}
|
||||
{0C0B6EB5-E41D-46D9-9F60-90D320A2EEF3} = {443B77DF-BB15-4DF7-8F45-C54FE6F51AB9}
|
||||
{23416FDA-19AE-487D-BCAA-5A9D04746500} = {443B77DF-BB15-4DF7-8F45-C54FE6F51AB9}
|
||||
{F34C5BC4-8810-4D6A-B003-AFE12D7ED4BA} = {443B77DF-BB15-4DF7-8F45-C54FE6F51AB9}
|
||||
{8D39E84B-2810-41D7-AFE6-0A58E09E34C3} = {443B77DF-BB15-4DF7-8F45-C54FE6F51AB9}
|
||||
{B9014C9B-B47D-4900-9EA7-4FE8998C30BE} = {DD14191F-22CE-48D8-A944-B8A41C97ACD4}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {4A1DC406-AFAA-4884-859C-51B9B26E37FC}
|
||||
EndGlobalSection
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
using XLib.DotNetCore.Base;
|
||||
|
||||
namespace HuanMeng.DotNetCore.Base
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
using HuanMeng.DotNetCore.Base;
|
||||
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
|
||||
81
src/0-core/HuanMeng.DotNetCore/Processors/ThreadProcessor.cs
Normal file
81
src/0-core/HuanMeng.DotNetCore/Processors/ThreadProcessor.cs
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
namespace HuanMeng.DotNetCore.Processors
|
||||
{
|
||||
/// <summary>
|
||||
/// 包含处理线程的处理器基类
|
||||
/// </summary>
|
||||
public abstract class ThreadProcessor : BaseProcessor
|
||||
{
|
||||
protected Thread? _thread;
|
||||
protected bool _isRunning;
|
||||
protected string? _threadName;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public ThreadProcessor() { }
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="threadName">线程名称</param>
|
||||
public ThreadProcessor(string threadName)
|
||||
{
|
||||
_threadName = threadName;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行处理
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">如果处理器已经在运行,抛出异常</exception>
|
||||
public override void Run()
|
||||
{
|
||||
if (_isRunning)
|
||||
{
|
||||
throw new InvalidOperationException("重复执行线程");
|
||||
}
|
||||
|
||||
_isRunning = true;
|
||||
|
||||
_thread = new Thread(Proc_Do)
|
||||
{
|
||||
Name = _threadName
|
||||
};
|
||||
_thread.Start();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 线程处理函数,需要在子类中实现
|
||||
/// </summary>
|
||||
protected abstract void Proc_Do();
|
||||
|
||||
/// <summary>
|
||||
/// 停止处理线程
|
||||
/// </summary>
|
||||
public override void Stop()
|
||||
{
|
||||
if (!_isRunning)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_isRunning = false;
|
||||
|
||||
if (_thread != null && _thread.IsAlive)
|
||||
{
|
||||
_thread.Join(WaitTimeMax_StopProc); // 等待线程结束
|
||||
_thread = null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 释放资源
|
||||
/// </summary>
|
||||
public override void Dispose()
|
||||
{
|
||||
Stop();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user