Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 23:02

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

Advertisement



Multithreading?

Discussion on Multithreading? within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
|★|UnReaL's Avatar
 
elite*gold: 136
Join Date: Jun 2013
Posts: 378
Received Thanks: 83
Arrow Multithreading?

Hey Leute.
Ich möchte in VB.NET einen Bot für eine Chatroulette-ähnliche Seite schreiben, sprich er soll mehrere Nachrichten in verschiedenen Zeitabständen in mehreren Webbrowsern senden. Das habe ich erstmal mit normalen Subs probiert, doch hier failt es schon bei den Zeitabständen, denn bei System.Threading.Thread.Sleep, stoppt ja dann das komplette Programm. Also will ich das jetzt mit Threads machen, allerdings habe ich bei meinem ersten Versuch den Fehler gekriegt, dass ich von einem neuen Thread aus irgendwie nicht auf einen Webbrowser zugreifen kann, kann mir da jemand helfen?

LG.
|★|UnReaL is offline  
Old 06/05/2014, 12:08   #2

 
Terreox's Avatar
 
elite*gold: 155
Join Date: Aug 2009
Posts: 628
Received Thanks: 153
Mehrere Threads halte ich hier für überflüssig.
Schau dir mal die Timer-Klasse an:
Terreox is offline  
Thanks
1 User
Old 06/05/2014, 12:18   #3


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by |★|UnReaL View Post
allerdings habe ich bei meinem ersten Versuch den Fehler gekriegt, dass ich von einem neuen Thread aus irgendwie nicht auf einen Webbrowser zugreifen kann, kann mir da jemand helfen?
Weil der Webbrowser im UI Thread erstellt worden ist und somit nicht direkt verfügbar für andere Threads ist. Du kannst dir eine Funktion schreiben um die Aktionen unter dem UI Dispatcher ausführen zu lassen.

Siehe für Beispiele und Informationen
Mostey is offline  
Thanks
1 User
Old 06/05/2014, 13:17   #4
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
Quote:
Originally Posted by Terreox View Post
Schau dir mal die Timer-Klasse an
Timer sind durchaus eine einfache art multithreading zu implementieren und ich bin auch der letzte der sagt man darf "nie" timer verwenden, aber hier sind threads vermutlich einfacher handzuhaben da man so eben verschiedene abläufe klar trennen kann

Quote:
Originally Posted by |★|UnReaL View Post
Also will ich das jetzt mit Threads machen, allerdings habe ich bei meinem ersten Versuch den Fehler gekriegt, dass ich von einem neuen Thread aus irgendwie nicht auf einen Webbrowser zugreifen kann, kann mir da jemand helfen?
ich würde das ganze vermutlich mit einem invoke machen:

da dort beispiele dabei sind spare ich es mir jezt hier drauf weiter einzugehen
tolio is offline  
Thanks
1 User
Old 06/05/2014, 16:18   #5

 
Terreox's Avatar
 
elite*gold: 155
Join Date: Aug 2009
Posts: 628
Received Thanks: 153
Ok ich hab überlesen, dass der TE unbedingt Threads haben will.
Von anderen Threads aus muss man natürlich mit dem Dispatcher arbeiten.

Quote:
Originally Posted by tolio
Timer sind durchaus eine einfache art multithreading zu implementieren und ich bin auch der letzte der sagt man darf "nie" timer verwenden, aber hier sind threads vermutlich einfacher handzuhaben da man so eben verschiedene abläufe klar trennen kann
Da würde ich mal gern einen Grund für haben.
Im Prinzip kommt beides aufs gleiche hinaus, zumindest was den Codeumfang betrifft.
Performance ist glaub ich bei dem Beispiel nicht wirklich relevant, außer man möchte hunderte oder tausende Browser gleichzeitig bedienen.
Terreox is offline  
Thanks
1 User
Old 06/05/2014, 16:47   #6


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by Terreox View Post
Ok ich hab überlesen, dass der TE unbedingt Threads haben will.
Von anderen Threads aus muss man natürlich mit dem Dispatcher arbeiten.
Das muss man auch wenn man Tasks, Timer oder BackgroundWorker nutzt, da diese auch asynchron laufen.
Mostey is offline  
Thanks
1 User
Old 07/10/2014, 15:57   #7
 
elite*gold: 0
Join Date: Jan 2014
Posts: 370
Received Thanks: 167
versuch das ganze mal mit Timern die backgroundorker starten, dann hast du threadsichere übergriffe und sogar completed events.
Onkelmat is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[VB] Multithreading mit Sub
04/13/2013 - .NET Languages - 8 Replies
Hi, ich wollte mir ein Projekt mit Multithreading machen. Es funktioniert auch sonst alles gut bloß, wenn ich eine Funktion/Sub mit übergabewerten benutze kann ich ja beim Threadstart keine Werte übergeben. Wie mache ich das dann? Also ich lasse durch nen Timer den Thread starten weil ich umbeding nach einer bestimmten zeit ausführen möchte. MfG Ludder231
Multithreading
11/17/2012 - C/C++ - 8 Replies
Hi i have q how i create a multithread socket for this code ? #pragma comment(lib,"ws2_32.lib") #include <WinSock2.h> #include <iostream> #include <stdio.h> #include <tchar.h> #include <string> #include <sstream>
Multithreading
10/08/2012 - C/C++ - 25 Replies
Guten Tag Leute, Ich befasse mich seid ca 2 monaten immer mal wd mit c++ und probiere mich dran einfache Programme zu schreiben . Nun aber wollte ich mich mal am multithreading versuchen da ich eine Schleife programmieren will die solange läuft bis der Benutzer einen button drückt oder Bei der konsole per eingabe die schleife stoppt. Mir wurde gesagt ich soll eine globale Variable definieren was ich getan habe und dann die schleife in einen Threat packen soll .Mein Problem ist nun aber das...
[C++] D3D Multithreading
08/24/2011 - C/C++ - 0 Replies
Sry kann closed werde. MfG
Multithreading
03/17/2010 - AutoIt - 16 Replies
$handle = DllCallbackRegister("_Threadstart"," ;int","ptr") $handlr = DllCallbackRegister("_Threadstard"," ;int","ptr") $dll = DllStructCreate("Char;int") DllStructSetData($dll,1,"hi") DllStructSetData($dll,2,1234) $ret = DllCall("kernel32.dll","hwnd", "CreateThread","ptr",0,"d word",0,"long",DllCallbackGetPtr($h andle),"ptr",DllStructGetPtr($dll)," ;long",0,"int*",0)...



All times are GMT +1. The time now is 23:02.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.