Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 06:39

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[c#] Frage zu Thread's / Threading

Discussion on [c#] Frage zu Thread's / Threading within the .NET Languages forum part of the Coders Den category.

Closed Thread
 
Old   #1
 
.Stefan's Avatar
 
elite*gold: 12
Join Date: Jun 2009
Posts: 2,620
Received Thanks: 1,239
[c#] Frage zu Thread's / Threading

Hey Leute,

Immer, wenn ich einen Thread ausführe, "freezed" die ganze GUI. Wie kann ich das ändern ?
.Stefan is offline  
Old 07/14/2013, 17:46   #2
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Wie führste ihn den aus ?
dready is offline  
Old 07/14/2013, 17:53   #3
 
.Stefan's Avatar
 
elite*gold: 12
Join Date: Jun 2009
Posts: 2,620
Received Thanks: 1,239
So :

Code:
            ThreadStart t_wf_reload = new ThreadStart(wf_reload);
            Thread thread = new Thread(t_wf_reload);
            thread.Start();
Ist im Thread dann z.B

Code:
Thread.Sleep(3000);
Wird die komplette GUI gefreezed für diese Zeit. Auch für die Zeit, in der der Thread iwas machen soll.
.Stefan is offline  
Old 07/14/2013, 18:34   #4
 
-AmA-'s Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 728
Received Thanks: 460
-AmA- is offline  
Old 07/14/2013, 18:57   #5
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
Also bei mir klappt das ohne Probleme...

Quote:
Originally Posted by -AmA- View Post
Nein, hör auf diesen Mist zu posten.
Kraizy​ is offline  
Thanks
2 Users
Old 07/14/2013, 19:12   #6


 
Else's Avatar
 
elite*gold: 4
The Black Market: 165/0/0
Join Date: Feb 2008
Posts: 3,847
Received Thanks: 1,267
?
Else is offline  
Old 07/14/2013, 19:39   #7
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
@Kraizy jub normal sollte das so laufen, würd ich auch sagen *kopfkratz*

DoEvents ist nen astreine Sache wenn man ne Menge Kopfweh will und in Kombination mit Threading dann endgültig sehr merkwürdig.
dready is offline  
Old 07/14/2013, 20:26   #8
 
Master674b's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 255
Received Thanks: 110
Dann wartet der GUI thread wohl auf einen Mutex der in dem andern Thread gerade locked ist.
Master674b is offline  
Old 07/14/2013, 21:04   #9
 
.Stefan's Avatar
 
elite*gold: 12
Join Date: Jun 2009
Posts: 2,620
Received Thanks: 1,239
Quote:
Originally Posted by Kraizy​ View Post
Also bei mir klappt das ohne Probleme...

Nein, hör auf diesen Mist zu posten.
Bei mir iwie nicht. Die GUI wird erst weiter "ausgeführt" wenn der Thread beendet ist.

Quote:
Originally Posted by Master674b View Post
Dann wartet der GUI thread wohl auf einen Mutex der in dem andern Thread gerade locked ist.
Mutex ?

Also ich habe die Thread's erstellt in der Main_Load intizialisiert. Ist das richtig ?

€ : Habe ich z.B nur "Thread.sleep(10000) " in der Methode, funktioniert das ganze. Soll er aber nach den 10 Sekunden den Text eines Label's ändern, bekomme ich wieder den Fehler mit dem Threadübergreifenden Zugriff. Also mache ich was mit den Invokes falsch.

Bei mir sieht das bisher so aus :

Code:
            if (InvokeRequired)
            {
                BeginInvoke(new MethodInvoker(my_Method));
            }
            else
            {
            }
.Stefan is offline  
Old 07/14/2013, 22:08   #10
 
-AmA-'s Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 728
Received Thanks: 460
Code:
label.Invoke((MethodInvoker)(() => label.Text = "Hier ist Text"));
-AmA- is offline  
Old 07/14/2013, 22:16   #11
 
.Stefan's Avatar
 
elite*gold: 12
Join Date: Jun 2009
Posts: 2,620
Received Thanks: 1,239
Quote:
Originally Posted by -AmA- View Post
Code:
label.Invoke((MethodInvoker)(() => label.Text = "Hier ist Text"));
Code:
Zusätzliche Informationen: Invoke oder BeginInvoke kann für ein Steuerelement erst aufgerufen werden, wenn das Fensterhandle erstellt wurde.
.Stefan is offline  
Old 07/14/2013, 22:46   #12
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
Steht ja da, du versuchst auf dein Label zuzugreifen, bevor es überhaupt existiert.
Kraizy​ is offline  
Old 07/15/2013, 08:24   #13



 
Shawak's Avatar
 
elite*gold: 0
The Black Market: 259/0/0
Join Date: Apr 2010
Posts: 10,291
Received Thanks: 3,611
Ansonsten schau dir doch einfach mal die neue Tasks Klasse an ->
Shawak is offline  
Old 07/15/2013, 10:53   #14
 
.Stefan's Avatar
 
elite*gold: 12
Join Date: Jun 2009
Posts: 2,620
Received Thanks: 1,239
Quote:
Originally Posted by Shawak View Post
Ansonsten schau dir doch einfach mal die neue Tasks Klasse an ->
Danke für den Tipp ! Das klappt mitlerweile ganz gut. Das einzigste Problem, das noch besteht ist, dass die UI ( bzw. GUI ) freezed während :

Code:
Thread.Sleep(2000);
.Stefan is offline  
Old 07/15/2013, 11:07   #15
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
wenn du das genau so aufrufst dann friert natürlich deine hauptform(/der thread dieser) ein und nicht der thread den du neu gestartet hast, wenn du den einfrieren willst musst es halt im kontext des neu erstellten threads aufrufen
tolio is offline  
Closed Thread


Similar Threads Similar Threads
C++ Threading
03/01/2013 - C/C++ - 3 Replies
Ich habe da mal eine frage zu Threading in C++ Wie kann ich eine Thread Array starten? ich weiß das ich in C# es z.B. so machen kann:) Thread myThread; myThread= new myThread;
Threading
02/22/2013 - Nostale - 3 Replies
Hi!I have a question for what i need multithreading i developing game server.Soo i know that i need this for connection.
C# Cross Threading
10/13/2012 - .NET Languages - 5 Replies
I was working on Console Applications for a long time and i was able to edit the console from almost everywhere in the project; However, when i migrated to windows forms applications i wondered that i can't edit for example a textBox from any other class because it tells me some error about cross threading So can any one help me ?
C++ Threading
03/24/2012 - CO2 Programming - 13 Replies
Anybody got some good threading tutorials in c++? #Edit Using boost would be fine?
Threading
11/18/2011 - CO2 Private Server - 10 Replies
What should I do? A thread for every map that's used by players, a global thread for all players or a single thread for every player.



All times are GMT +2. The time now is 06:39.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.