|
You last visited: Today at 23:02
Advertisement
Multithreading?
Discussion on Multithreading? within the .NET Languages forum part of the Coders Den category.
06/05/2014, 11:33
|
#1
|
elite*gold: 136
Join Date: Jun 2013
Posts: 378
Received Thanks: 83
|
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.
|
|
|
06/05/2014, 12:08
|
#2
|
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:
|
|
|
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
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
|
|
|
06/05/2014, 13:17
|
#4
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
Quote:
Originally Posted by Terreox
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
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
|
|
|
06/05/2014, 16:18
|
#5
|
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.
|
|
|
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
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.
|
|
|
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.
|
|
|
 |
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.
|
|