小编Ser*_*gey的帖子

在一个永久线程中运行事件处理程序

我找了解决方案,但一无所获.

在某些课程中,我有活动

public class ClassWithEvent
{
    public event Action<string> SomeEvent;

    ...
}
Run Code Online (Sandbox Code Playgroud)

这个事件有订阅者

public class SubscriberClass
{
    public void SomeMethod(string value)
    {
        ...
    }
}

ClassWithEvent objectWithEvent = new ClassWithEvent();

SubscriberClass subscriberObject = new SubscriberClass();

objectWithEvent.SomeEvent += subscriberObject.SomeMethod;
Run Code Online (Sandbox Code Playgroud)

在主线程的某处可以调用此事件.

if(SomeEvent != null)
    SomeEvent(someString);
Run Code Online (Sandbox Code Playgroud)

当它发生时,它的处理程序必须在第二个线程中运行.但是每次都在同一个线程中,所以第二个线程必须是永久性的,并且在第一次执行后不会被终止.

请帮我实现这个.

.net c# events multithreading

2
推荐指数
1
解决办法
254
查看次数

标签 统计

.net ×1

c# ×1

events ×1

multithreading ×1