masteripper Δημοσ. 27 Μαρτίου 2017 Δημοσ. 27 Μαρτίου 2017 Γεια χαρά ... έχω 1 πρόβλημα και ψάχνω για την βέλτιστη λύση... Έχω 1 thread που κάνει κάνει request data απο 1 Web stream τα κάνει Parse(split) και παράλληλα το κάνει Human readable και θέλω αυτό να τροφοδοτεί 1 thread που προσθέτει γραμμές σε 1 DataGridView...παράλληλα με 1 thread που θα γράφει σε μια SQL engine (μάλλον SQLite η Firebird) και παράλληλα με τις τιμές θα τρέχουν γραφήματα με βάση τις τιμές καθώς και κάποιες υπολογιζόμενες τιμές ... Εν πρώτοις φαίνεται ότι η Parallel.Invoke κάνει αυτή την δουλειά αλλά θα ήθελα μια άποψη επι του θέματος...
παπι Δημοσ. 27 Μαρτίου 2017 Δημοσ. 27 Μαρτίου 2017 Δες μια αυτο https://msdn.microsoft.com/en-us/library/mt674882.aspx 1
masteripper Δημοσ. 27 Μαρτίου 2017 Μέλος Δημοσ. 27 Μαρτίου 2017 Ωραίο και εχει μπολικο πράμα αλλά δεν βλέπω να καλύπτει το θέμα της τροφοδοσίας.....σκέψου το ως εξής Κατεβάζω 1 μεγάλο string .............. Το χωρίζω με βάση τον delimiter To κάνω map στα fields ενός DataTable Με το DataTable προσθέτω γραμμές στο DGV Εγγραφή στο SQL To 3 τροφοδοτεί το 4 οταν βρει διαθέσιμα δεδομένα....και παράλληλα δουλεύει και το 5.....
παπι Δημοσ. 27 Μαρτίου 2017 Δημοσ. 27 Μαρτίου 2017 Ναι, εχεις task το κατεβαζω ενα string και το κανω parse. Εχεις αλλο ενα task το τα γραφω στην db Τα αλλα δεν βλεπω να θελουν task αρα κανεις await το task κατεβαζω και parsαρω, και το αποτελεσμα αυτου το πασαρεις στο κανω map και γραφω db
albNik Δημοσ. 27 Μαρτίου 2017 Δημοσ. 27 Μαρτίου 2017 Μάλλον το πρόβλημα του είναι να κάνει invoke το GUI (DataGridView) από άλλο thread. Υπάρχουν άπειρα ποστς για το θέμα στο StackOverflow.
παπι Δημοσ. 27 Μαρτίου 2017 Δημοσ. 27 Μαρτίου 2017 αν ειχε αυτο το προβλημα θα ελεγε οτι του πεταει cross-thread exception. 1
masteripper Δημοσ. 27 Μαρτίου 2017 Μέλος Δημοσ. 27 Μαρτίου 2017 Οπότε στο await τραβάω το αποτέλεσμα του task download/parse και τροφοδοτώ τα επόμενα...Θα το δοκιμάσω ...
defacer Δημοσ. 27 Μαρτίου 2017 Δημοσ. 27 Μαρτίου 2017 Κλασική γενική περίπτωση producer/consumer έχεις. Google, θα βρεις πολύ πράμα. Δεν είμαι σίγουρος για τις λεπτομέρειες στην περίπτωσή σου αλλά γενικά μιλώντας θα ξεκινούσα από BlockingCollection. 1
masteripper Δημοσ. 27 Μαρτίου 2017 Μέλος Δημοσ. 27 Μαρτίου 2017 Για BlockingCollection το βλέπω και εγώ....
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα