<?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>Πρώτα Βήματα - Γλώσσες προγραμματισμού</title><link>https://www.dotnetzone.gr:443/cs/forums/74/ShowForum.aspx</link><description>Τα πρώτα βήματα στις γλώσσες VB6, VB.NET, και C#</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Ερώτηση για δημιουργία ενός αντικειμένου σε μια μέθοδο</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38747.aspx</link><pubDate>Wed, 02 Jan 2008 20:48:57 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38747</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38747.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=38747</wfw:commentRss><description>Χρόνια Πολλά, και ευχαριστώ για τις απαντησεις :-)&lt;br&gt;</description></item><item><title>Απ: Ερώτηση για δημιουργία ενός αντικειμένου σε μια μέθοδο</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38668.aspx</link><pubDate>Fri, 28 Dec 2007 19:56:06 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38668</guid><dc:creator>Δημήτρης Γκανάτσιος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38668.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=38668</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;m6s:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;BR&gt;Δηλαδή χωρίς static, &lt;I&gt;&lt;BR&gt;1. Δεν ελέγχεις το νέο αντικείμενο&lt;/I&gt; αν κατάλαβα καλά.&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;όταν λες "ελέγχεις"; η χρησιμότητα για την οποία σου είπα το static έχει σχέση με τη φόρμα τιμολόγησης που ρώτησες. Αν κάνεις πολλά "new" ένα αντικείμενο, και δεν τα πας τόσο καλά από performance, τότε μπορείς να έχεις ένα instance του&amp;nbsp;σε μια κλάση&amp;nbsp;σαν static, ώστε να γίνει "new"&amp;nbsp;μία φορά. &lt;/P&gt;
&lt;P&gt;Δες &lt;A href="http://msdn2.microsoft.com/en-us/library/79b3xss3(VS.80).aspx"&gt;εδώ&lt;/A&gt;&amp;nbsp;για το keyword static, σε περίπτωση που κάτι σου διαφεύγει &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/P&gt;
&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;m6s:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;BR&gt;&lt;I&gt;2. δεν μπορείς να ξέρεις τελικά τι γίνεται, ιδιαίτερα σε περίπτωση που ξανατρέξεις την γραμμή στην Main ;&lt;/I&gt;&lt;BR&gt;Σε ευχαριστώ.&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;πάλι δεν σε πιάνω. Εφ'όσον το thread εσύ αυτή τη στιγμή το έχεις σαν foreground, το main process θα περιμένει μέχρι να κλείσει το thread που ξεκίνησες. Εφ'όσον σηκώσεις κι άλλα τέτοια foreground threads, το main process θα περιμένει να εκτελεστούν. Αν ρωτάς για το πότε θα φύγουνε από τη μνήμη, αυτό είναι απρόβλεπτο, λόγω της μη ντετερμινιστικής εκτέλεσης του GC. Όταν αυτά τα objects&amp;nbsp;είναι out of scope, κάάάποια στιγμή θα τα "καθαρίσει" κ ο σκουπιδοσυλλέκτης.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;χρόνια πολλά &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/P&gt;</description></item><item><title>Απ: Ερώτηση για δημιουργία ενός αντικειμένου σε μια μέθοδο</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38644.aspx</link><pubDate>Thu, 27 Dec 2007 08:56:38 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38644</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38644.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=38644</wfw:commentRss><description>Βασικά όπως είπα απο tutorial για threads είναι ο κώδικας και δεν καταλαβαίνω πάρα πολλά.&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-42.gif" alt="Confused" /&gt;&lt;br&gt;Το ερώτημα έχει να κάνει γενικά με object και όχι τόσο για threads.&lt;br&gt;Δηλαδή χωρίς static, &lt;i&gt;&lt;br&gt;1. Δεν ελέγχεις το νέο αντικείμενο&lt;/i&gt; αν κατάλαβα καλά.&lt;br&gt;&lt;i&gt;2. δεν μπορείς να ξέρεις τελικά τι γίνεται, ιδιαίτερα σε περίπτωση που ξανατρέξεις την γραμμή στην Main ;&lt;/i&gt;&lt;br&gt;Σε ευχαριστώ.&lt;br&gt;( Αυτή την παρατήρηση για το IsBackground, δεν το γνώριζα )&lt;br&gt;</description></item><item><title>Απ: Ερώτηση για δημιουργία ενός αντικειμένου σε μια μέθοδο</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38639.aspx</link><pubDate>Thu, 27 Dec 2007 04:02:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38639</guid><dc:creator>Δημήτρης Γκανάτσιος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38639.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=38639</wfw:commentRss><description>&lt;P&gt;Βασικά, η κλάση Thread δεν έχει Dispose μέθοδο. Έτσι όπως δίνεις το sample το workerThread έχει το property IsBackground false (by default είναι έτσι, άμα κάνεις instance ενός Thread), οπότε, εφ'όσον είναι Foreground thread, θα εμποδίσει το process να τερματίσει. Μια εφαρμογή κλείνει τελείως, όταν τερματίσουν όλα τα foreground threads της. Αν υπάρχουν και Background threads που τρέχουνε, τότε το CLR τα τερματίζει αυτόματα. Αν θες να το δεις, άλλαξε το anonymous method ως εξής&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;delegate&lt;/FONT&gt;&lt;FONT size=2&gt;()&lt;BR&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thread&lt;/FONT&gt;&lt;FONT size=2&gt;.Sleep(3000);&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"From thread, hello all!"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;Αν θες να αλλάξει αυτή η συμπεριφορά, άλλαξε το IsBackground του Thread σε true.&lt;/P&gt;
&lt;P&gt;Όσον αφορά τη φόρμα τιμολόγησης: Αν κατάλαβα καλά, το πρόβλημα είναι ότι σηκώνεις πολλές φορές το ίδιο αντικείμενο;;; Αν είναι έτσι, τότε είτε μπορείς να το έχεις κάπου σαν static, ώστε να είναι μία μόνο φορά σηκωμένο, είτε μπορείς να υλοποιήσεις το &lt;A href="http://en.wikipedia.org/wiki/Singleton_pattern"&gt;singleton&lt;/A&gt; pattern.&lt;/P&gt;&lt;/FONT&gt;</description></item><item><title>Ερώτηση για δημιουργία ενός αντικειμένου σε μια μέθοδο</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38638.aspx</link><pubDate>Thu, 27 Dec 2007 03:45:10 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38638</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38638.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=38638</wfw:commentRss><description>Καλησπέρα, Χρόνια Πολλά, έχω ένα θέμα που με προβληματίζει, το οποίο είναι όπως φαίνεται απο το παρακάτω κώδικα, η αρχικοποίηση ενός object ( εδώ thread λόγω ότι αυτό πειράζω εξαιτίας ενός βοηθήματος που διαβάζω για delegates ) anyway"s"....Το θέμα είναι ότι δημιουργώ ένα &lt;b&gt;object μέσα στην μέθοδο. &lt;/b&gt;Το επιστρέφω στην Main και εκτελώ πολύ ωραία την Start.&lt;br&gt;&lt;b&gt;Εν ολίγοις, το workerThread τελικά θα μείνει στην μνήμη; Ως πότε; Πώς να το κάνω dispose?&lt;/b&gt;&lt;br&gt;&lt;i&gt;Ο μόνος τρόπος που βλέπω είναι να έχω το workerThread σαν property, και να ελέγχω αν είναι null ή όχι. (Νομίζω C,C++ way...)&lt;br&gt;&lt;/i&gt;&lt;b&gt;Υπάρχει άλλος τρόπος;&amp;nbsp; &lt;/b&gt;Τέτοιο κώδικα έχω ξαναδεί, και με προβληματίζει ας πούμε να θέλουμε να σηκώσουμε την φόρμα τιμολόγησης, 100 φορές σε μια μέρα...τι θα γίνει;!&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; class SomeClass{&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;public Thread LaunchThread(){&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;&lt;i&gt;&amp;nbsp;Thread workerThread = new Thread&lt;/i&gt;&lt;/b&gt;( delegate() {&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine( "From thread, hello all!" );&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;} );&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;&lt;b&gt;&amp;nbsp;return workerThread;&lt;/b&gt;&lt;/i&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;class MainApp{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; static void Main(string[] args){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SomeClass test = new SomeClass();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;u&gt;test.LaunchThread()&lt;b&gt;.Start();&lt;/b&gt;&lt;/u&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;Ευχαριστώ,&lt;br&gt;Δημήτρης&lt;br&gt;</description></item></channel></rss>