[问题] C#多线程及回呼函数问题

楼主: james999 (无伤大雅)   2018-01-12 01:24:55
最近在使用Vlc.Net,
主要是参考原作者在官网放的范例:
https://github.com/ZeBobo5/Vlc.DotNet/wiki/Getting-started
其中,将MainThread的内容移至自己程式的函式内,
因为同时有宣告多个影像连线需求,所以将范例底端的while循环移除。
又于mediaPlayer.PositionChanged += (sender, e) =>内加上Snapshot,
Snapshot所产生的档案名称也是依MAC储存,
有将建立出来的mediaPlayer存于Dictionary,key为装置的MAC位址。
同时建立2个连线并Snapshot时,程式貌似有机率会卡住,
既然Vlc Play后自己会内建线程,那么这个回呼也是由不同线程所执行,
不晓得为什么会造成Snapshot卡住,而没有产生图档。
p.s. 程式中另外有条非MainThread每100毫秒读取2个连线Snapshot所建立的图档各一次
,循环每次都建立Image物件。
参考MSDN Class Image资讯为..
[执行绪安全]
此类型的任何 public static (在 Visual Basic 中 共用 在 Visual Basic 中) 成员皆
为安全执行绪。不保证任何执行个体成员为安全执行绪。
仅建立1个连线的情况则可以挂上1-2天都没问题.
有请大大们解惑,谢谢:)
※ 编辑: james999 (61.230.197.165), 01/12/2018 01:34:58
作者: yzfr6 (扮关二哥!)   2018-02-22 07:15:00
多执行绪

Links booklink

Contact Us: admin [ a t ] ucptt.com