Two UI Thread in C# windows Application

前端 未结 3 1638
长发绾君心
长发绾君心 2020-12-18 09:22

How can I implement two ui threads in a C# windows application?

3条回答
  •  悲&欢浪女
    2020-12-18 09:56

    This might not be an answer but more of an explanation.

    If two threads were allowed to access the same pixel at the same time - something that would be a consequence of having a multithreaded UI - you would need some sort of synchronization between the threads. If the threads didn't synchronize how should the color of a pixel be determined?

    So we would have to add locking. Locking per pixel is very costly so we'd soon move to locking per control or per window. There you go: by allowing 1 and only 1 thread to access the UI we've implemented locking.

    BTW: replace pixel with control or controltree; it isn't just about pixels it is about shared data whether that be a pixel or a control.

提交回复
热议问题