小编Der*_*zer的帖子

是否有线程的await语句?

嗨,我想知道是否有类似于await语句的内容,它与任务一起使用,我可以用c#中的线程实现?

我想做的是:

启动线程A,计算一些数据并将结果放在变量上x.在该变量x被转移到另一个线程B并且同时线程A再次开始计算一些数据之后,线程B开始另一个计算结果x.

更新:好的,似乎有一些混乱,所以我的描述会更准确:

我使用两个产生数据的传感器.的数据需要在将SensorA检索数据(这需要很长的时间)这样的方式进行检索和之后立即从SensorB数据必须在另一个线程被检索,同时将SensorA继续检索另一数据块.问题是我不能将两个传感器的数据排队在同一队列中,但我需要将两个传感器的数据存储在一个数据结构/对象中.

我的想法是这样的:

  1. 从线程A中的传感器A获取数据
  2. 将结果提供给线程B并重新启动线程A.
  3. 当线程A再次运行时,线程B从传感器B获取数据并计算来自传感器A和B的数据

您可以假设线程A总是需要比线程B更长的时间

c# multithreading async-await

5
推荐指数
1
解决办法
144
查看次数

在WPF,C#中调用控件

大家好,我将我的一个项目从Windowsforms切换到WPF。到目前为止,我使用这段代码来调用来自另一个线程的数据的GUI对象:

this.Invoke(new Action<NewDiagPacketArrivedEventArgs>(DoSomething), e);
Run Code Online (Sandbox Code Playgroud)

我如何在WPF中做同样的事情?我发现了一些有关使用调度程序的帖子,但是我无法使它正常工作。我想有一个简单的解决方案。如果您知道有关此主题的任何指南,将不胜感激。

谢谢

c# wpf invoke thread-safety

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

c#不可变类型类的文档/注释

您有没有办法在c#中为开发人员记录不可变类型的属性?

我知道您可以使用以下方法轻松记录类和对象:

  /// <summary>
  /// This is an object
  /// </summary>
Run Code Online (Sandbox Code Playgroud)

但是如果我创建一个新对象,如何为popupmenu创建一个条目:

Myobject ob1 = new Myobject(x1,x2,.....);
Run Code Online (Sandbox Code Playgroud)

我想要的是每个值的简短描述,例如"x1是我的对象的长度"和"x2是高度".另外我想添加一些响应的东西,例如,如果用户为x1输入"1",x2显示工具提示"长度",但如果用户输入"2"作为输入,则x2显示"高度"工具提示.

c# documentation comments tooltip

0
推荐指数
1
解决办法
28
查看次数