<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>.NET Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/14/ShowForum.aspx</link><description>Θέματα για threading, remoting, reflection, exception handling, security, regex κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Threads...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/15055.aspx</link><pubDate>Fri, 21 Jul 2006 18:56:18 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:15055</guid><dc:creator>axaros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/15055.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=15055</wfw:commentRss><description>&lt;P&gt;Έχω σχεδόν όλη την handbook σειρά. Σου προτείνω το :&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Visual Basic .NET Threading Handbook&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;A href="http://www.amazon.com/gp/product/1861007132/002-3123263-1574417?v=glance&amp;amp;n=283155"&gt;http://www.amazon.com/gp/product/1861007132/002-3123263-1574417?v=glance&amp;amp;n=283155&lt;/A&gt;&lt;/P&gt;</description></item><item><title>Απ: Threads...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/15014.aspx</link><pubDate>Thu, 20 Jul 2006 21:08:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:15014</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/15014.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=15014</wfw:commentRss><description>άνοιξε αν θέλεις ένα άλλο thread (στο forum εννοώ!) για το βιβλίο που ψάχνεις για να αναντήσουν όσοι ξέρουν. Εγώ δεν ξέρω κάποιο...</description></item><item><title>Απ: Threads...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/15013.aspx</link><pubDate>Thu, 20 Jul 2006 20:49:32 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:15013</guid><dc:creator>thomasinfo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/15013.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=15013</wfw:commentRss><description>Οκ ευχαριστώ,&lt;br /&gt;
&lt;br /&gt;
κάποιο ΚΑΛΟ reference για διάβασμα περι threads στο web?&lt;br /&gt;
&lt;br /&gt;
Επίσης κάποιο ΚΑΛΟ βιβλίο για VB.NET που να καλύπτει θέματα σε βάθος?</description></item><item><title>Απ: Threads...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/15009.aspx</link><pubDate>Thu, 20 Jul 2006 20:29:02 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:15009</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/15009.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=15009</wfw:commentRss><description>Είναι πιο ασφαλές και άμεσο να το δοκιμάσεις παρά να σου το πούμε εμείς! Εξαρτάται, νομίζω από κάποια πράγματα. Π.χ. αν έχεις μια global μεταβλητή η οποία εκτελείται στο thread που έχεις "κοιμήσει" και προσπαθήσεις να την προσπελάσεις από το event του timer μπορεί να κολήσει το event και να περιμένει να "ξυπνήσει" το άλλο. Γενικά στο threading υπεισέρχεται το θέμα του Thread Safety, το οποίο έχει να κάνει με μερικές απλές σκέψεις όπως αυτή που μόλις εξέφρασα.</description></item><item><title>Απ: Threads...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/15008.aspx</link><pubDate>Thu, 20 Jul 2006 20:27:41 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:15008</guid><dc:creator>thomasinfo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/15008.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=15008</wfw:commentRss><description>Ναι αλλά το event που θα κάνει raise ο timer στα 3'' θα "πιαστεί" από το thread που τον δήλωσε και τον ξεκίνησε (η οποία κοιμάται για άλλα 2'')?</description></item><item><title>Απ: Threads...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/15006.aspx</link><pubDate>Thu, 20 Jul 2006 20:20:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:15006</guid><dc:creator>evliatsas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/15006.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=15006</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/cs/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;thomasinfo wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td valign="top" class="txt4"&gt;Αν δηλαδή μέσα σε ένα tread δηλώσω και ξεκινήσω έναν timer που ενεργοποιείται κάθε 3'' και κοιμήσω το αρχικό thread για 5'' τί συμβαίνει; Φαντάζομαι οτι θα χάσω το event του timer ή δεν θα το πάρω στα 3''...&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Όχι. Ο timer θα δημιουργήσει το δικό του thread, το οποίο ξέρει πως κάθε 3" θα ενεργοποιείται. Τα thread τρέχουν παράλληλα και ανεξάρτητα, για αυτό υπάρχει και η ανάγκη να τα "κοιμίζουμε" για να τα κρατάμε συγχρονισμένα.&amp;nbsp;Σκέψου περισσότερο ένα timeline με παράλληλα νήματα, τα οποία μπορεί να μήν έχουν κοινή αρχή.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;O timer θα καθυστερήσει μόνο άν "κοιμίσεις" το δικό του thread .&lt;/P&gt;</description></item><item><title>Απ: Threads...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/15005.aspx</link><pubDate>Thu, 20 Jul 2006 20:02:41 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:15005</guid><dc:creator>thomasinfo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/15005.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=15005</wfw:commentRss><description>Αν δηλαδή μέσα σε ένα tread δηλώσω και ξεκινήσω έναν timer που ενεργοποιείται κάθε 3'' και κοιμήσω το αρχικό thread για 5'' τί συμβαίνει; Φαντάζομαι οτι θα χάσω το event του timer ή δεν θα το πάρω στα 3''...</description></item><item><title>Απ: Threads...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/15003.aspx</link><pubDate>Thu, 20 Jul 2006 19:34:46 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:15003</guid><dc:creator>evliatsas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/15003.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=15003</wfw:commentRss><description>&lt;P&gt;Καλώς μας ήρθες Θωμά.&lt;/P&gt;
&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/cs/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;thomasinfo wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td valign="top" class="txt4"&gt;&lt;/P&gt;
&lt;P&gt;2) Απ' οτι έχω καταλάβει ψάχνοντας και διαβάζοντας ένα thread κοιμάται-ξυπνάει και στο διάστημα που δεν κοιμάται εκτελεί κάποιες λειτουργίες. ΜΕΣΑ σε ένα thread πώς θα συμπεριφερόταν ένας timer? Θα έτρεχε και θα μετρούσε χρόνο συνέχεια ή μόνο στο διάστημα που το thread είναι ενεργό? Αν ένα thread είναι σε WinForm ή σε Service αππλιψατιον υπάρχουν διαφορές και ποιές είναι αυτές?&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Πρέπει να καταλάβεις ότι η ίδια η εφαρμογή&amp;nbsp;εκτελείται σε ένα&amp;nbsp;thread. Το timer component δημιουργεί ένα δικό του thread και τρέχει πάνω σε αυτό, ακριβώς για τον λόγο ότι θέλουμε ένα ανεξάρτητο time interval που θα εκτελεί κάποια εργασία.&lt;/P&gt;
&lt;P&gt;Είναι δηλαδή δυνατόν μία εφαρμογή να τρέχει για παράδειγμα το update ενός DataSet και την ίδια ώρα το timer1_tick event να αλλάζει το label που δείχνει την ώρα πάνω στην φόρμα. Αυτό χωρίς threading θα ήταν αδύνατο.&lt;/P&gt;
&lt;P&gt;Βέβαια όπως σου είπα ο timer δημιουργεί και τρέχει το thread του αυτόματα. Το ίδιο μπορείς να το κάνεις όμως εσύ προγραμματιστικά, ώστε να έχεις ταυτόχρονες ή συγχρονισμένες λειτουργίες να εκτελούνται.&lt;/P&gt;
&lt;P&gt;Το sleep του thread χρησιμοποιείται συνήθως για να διατηρούμε τα thread της εφαρμογής μας συγχρονισμένα. π.χ. δεν θα θέλαμε ένα thread να χρησιμοποιήσει μια τιμή, πρίν αυτή να γίνει validate από ένα άλλο thread.Οπότε λέμε στο πρώτο να περιμένει μέχρι να φτάσει στο σημείο που θέλουμε το δεύτερο.&lt;/P&gt;
&lt;P&gt;Τέλος, το είδος της εφαρμογής δεν παίζει κανένα ρόλο, αφού άλλωστε όλες τρέχουν σε ένα τουλάχιστον thread.&lt;/P&gt;</description></item><item><title>Απ: Threads...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/14999.aspx</link><pubDate>Thu, 20 Jul 2006 18:27:14 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:14999</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/14999.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=14999</wfw:commentRss><description>Μια ακολουθία γραμμών κώδικα εκτελείται διαδοχικά. Το runtime κρατάει ένα δείκτη για το πια είναι η τρέχουσα εντολή και μόλις ολοκληρωθεί πηγαίνει τον δείκτη στην επόμενη κα την εκτελεί. Αυτό περίπου γίνεται σε ένα thread. Αν θέλεις ταυτόχρονα από μια γραμμή κώδικα να ξεκινήσεις ταυτόχρονα δυο ακολουθίες κώδικα, χωρίς η μια να περιμένει την άλλη, τότε πρέπει να ξεκινήσεις ένα νέο thread. Αυτό περίπου. Για παραδείγματα ψάξε στο google και θα βρεις άπειρα.</description></item><item><title>Threads...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/14995.aspx</link><pubDate>Thu, 20 Jul 2006 17:57:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:14995</guid><dc:creator>thomasinfo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/14995.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=14995</wfw:commentRss><description>&lt;P&gt;Χαιρετώ όλους στην παρέα.&lt;/P&gt;
&lt;P&gt;Είμαι developer, νέο μέλος στο ditNetZone.gr και σχετικά νέος στο χώρο της τεχνολογίας .NET&lt;/P&gt;
&lt;P&gt;Είναι πολύ ευχάριστω που υπάρχει μια Ελληνική κοινότητα στο χώρο και απ' οτι βλέπω στο μικρό αυτό διάστημα μάλλον έχει δύναμη.&lt;/P&gt;
&lt;P&gt;Θα ήθελα να ρωτήσω το εξής:&lt;/P&gt;
&lt;P&gt;1)Μία περιγραφή με όσο το δυνατόν ποιο κοντά στην πράξη εξήγηση για τα threads και πώς λειτουργούν.&lt;/P&gt;
&lt;P&gt;2) Απ' οτι έχω καταλάβει ψάχνοντας και διαβάζοντας ένα thread κοιμάται-ξυπνάει και στο διάστημα που δεν κοιμάται εκτελεί κάποιες λειτουργίες. ΜΕΣΑ σε ένα thread πώς θα συμπεριφερόταν ένας timer? Θα έτρεχε και θα μετρούσε χρόνο συνέχεια ή μόνο στο διάστημα που το thread είναι ενεργό? Αν ένα thread είναι σε WinForm ή σε Service αππλιψατιον υπάρχουν διαφορές και ποιές είναι αυτές?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ευχαριστώ όλους για το χρόνο που αφιερώνουν στις απαντήσεις που δύνουν και τα αρθρα που γράφουν.&lt;/P&gt;
&lt;P&gt;Ελπίζω κάποια στιγμή σύντομα να είμαι σε θέση να έχω και εγώ απαντήσεις για νέοεισερχόμενους στην τεχνολογία .NET&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Θωμάς.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item></channel></rss>