Προφανώς για να γίνει η μια δουλειά πρέπει πρώτα να τελειώσει η δεύτερη. Οπότε δεν θέλεις πολλά threads αλλά μόνο ένα επιπλέον από αυτό που δουλεύει το UI.
Ο μόνος λόγος να θέλεις περισσότερα threads είναι για να κερδίσεις χρόνο. π.χ. να μαζεύεις τα αρχεία την ώρα που ελέγχεις την ftp σύνδεση ή να στέλνεις αρχεία πριν ολοκληρωθεί το μάζεμα όλων. Αυτό όμως θέλει περισσότερη προσοχή στο συγχρονισμό-συντονισμό των threads. Θα έλεγα να το αποφύγεις.
Αν λοιπόν σου κάνει μόνο το ένα επιπλέον thread έχεις δυο επιλογές (αυτές έχεις και για περισσότερα απλά εκεί θέλεις και άλλα πράγματα):
- χρήση new Thread()
- χρήση BeginInvoke
Η 2η είναι προτείνεται συνήθως γιατί χρησιμοποιεί ανακλυκλωμένα threads από ένα thread pool, οπότε είναι πιο γρήγορη. Γενικά το άνοιγμα-κλείσιμο threads θεωρείται σχετικά βαριά δουλειά.
Άσχετο: Ένα εξαιρετικό document που περιγράφει με λεπτομέρεια τις threading δυνατότητες της C# είναι αυτό (πάνω κάτω ισχύον τα ίδια και στην vb όπως εύκολα υποθέτει κανείς). Αν ασχολείσαι πρώτη φορά με threading όμως μην μπεις στο document αυτό και χαθείς! Ψάξε για πιο απλά παραδείγματα στο δίκτυο.
Πες γλώσσα προγραμματισμού που προτιμάς για να δώσω ένα μικρό παράδειγμα...
Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.