Простые Мульти Нить Пример – VB.NET – Разное – База кода

Скачать

Название (оригинал): Simple Multi Thread Example

Описание:
Англ (оригинал)I’ve had a few people come to me with how to do multi treading. I’ve looked around PSC and there are plenty of projects that have multi-threading but none solely for multi-threading. So I did up a simple multi-threading console application that passes data back to the parent thread via events. This is a very simple example and is designed to show how multi-threading can be used.
The key to understanding what you would use multi-threading for is to keep one simple thing in mind. All UI (user interfaces) elements must be in the parent thread. You can not have anything that interacts direct with the UI in a seperate thread. For example if you are running a long business process and get an exception, then use a message box to show that exception then nothing will ever be shown to the user. It’s in a background thread so the user never see’s it. It can also lock the application up since the messagebox is waiting for the user to click ok. What you would do in such an example would be to pass the error message back to the parent thread and let the parent thread display the error message. This is also a good example to show how you could update a progress bar on the parent thread with the process of the thread (like how far along the process has gotten in getting or doing something). Hope this helps. Sometimes you just need to break something down to bare basics to get a good understanding of it. Though this is only one example of how to work with threads, there are many other ways.
Рус (машинный)У меня было несколько людей приходят ко мне с Как сделать мульти ступая. Я посмотрел вокруг РПП и есть много проектов, которые имеют многопоточность, но ни один исключительно для многопоточности. Поэтому я сделал простой многопоточность консольное приложение, которое передает данные обратно в родительский поток через события. Это очень простой пример и призван показать, как многопоточность может быть использован.
Ключом к пониманию того, что бы использовать многопоточность, для того, чтобы держать в уме одну простую вещь. Все UI (интерфейсов пользователя) элементы должны быть в родительском потоке. Вы можете не иметь ничего, что взаимодействует непосредственно с пользовательского интерфейса в отдельном потоке. Например, если вы работаете длительный бизнес-процесс и получить исключение, а затем использовать окно сообщения, чтобы показать, что исключение тогда ничто не будет когда-либо быть показано пользователю. Это в фоновом потоке, чтобы пользователь никогда не увидит его. Он может также заблокировать приложение до тех пор и messagebox ждет нажатия Пользователем кнопки Ok. Что бы вы делали в таких примером было бы передать сообщение об ошибке обратно в родительский поток и пусть родительский поток выводится сообщение об ошибке. Это также хороший пример, чтобы показать, как можно обновить прогресс бар на родительский поток в процессе поток (вроде как далеко процесс получил в получать или делать что-то). Надеюсь, это поможет. Иногда вам просто нужно что-то сломать вниз, чтобы чуть-чуть основы, чтобы получить хорошее представление об этом. Хотя это только один из примеров, как работать с потоками, существует множество других способов.

база кода