Будучи новичком в использовании потоков и т. д. в пользовательском интерфейсе, могу ли я спросить, следующий простой дизайн выглядит нормально. См. диаграмму изображение по ссылке здесь
Особенно:
а) использование backgroundworker и backgroundworker ProgressChanged, чтобы агрегатор работал в отдельном потоке. Поэтому мне понадобится собственный класс/тип, в котором будут все данные, которые мне нужно передать из потока агрегатора в поток пользовательского интерфейса, который я предполагаю.
б) создать отдельный поток в агрегаторе, чтобы гарантировать, что метод обратного вызова SharpPCap/WinPCap находится в другом потоке. Таким образом, этот поток диспетчера захвата записывает результаты пакетов в общий буфер. Я предполагаю, что если код может видеть переменную буфера, они оба могут получить к ней доступ, независимо от того, в каком потоке они работают?
Благодарность