elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Necesito optimizar una aplicacion!!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Necesito optimizar una aplicacion!!!  (Leído 7,286 veces)
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Necesito optimizar una aplicacion!!!
« Respuesta #10 en: 5 Enero 2010, 13:42 pm »

Si ejecuto eso, como veran hay un msgbox dentro del Synclock.. pero aparecen los 2 mensajes de "INICIO" seguidos... o sea.. yo tengo que hacer algo para que primero se ejecute todo el metodo, y al terminar el metodo, vuelva a ejecutarse con el 2º webclient que produjo el evento...

Definitivamente tengo que usar hilos???

Pero..... es justamente esa la diferencia entre usar hilos en vez bucles en un solo hilo. O sea, si queres bajar una por una, hacelo en un bucle, si queres hacer "varios" a la vez, usa hilos.

Si queres bajar 10, pero no a la vez, supongamos que 3 a la vez. cuando termine uno empieze el que sigue. Implementa semaforos en los hilos. Aca un ejemplo de un amigo mio:

http://www.xtremecodes.es/downloads.php?cat_id=6 (Nota: Es zona de descarga, descarga el que dice Threads con semaforos y/o tambien Threads)


En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Necesito optimizar una aplicacion!!!
« Respuesta #11 en: 5 Enero 2010, 17:10 pm »

Descargando... vamos a ver que dice..
Capaz no me vuelva a pasar por aqui por unos dias, por cuestiones de vacaciones.. pero volveré :D


En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Necesito optimizar una aplicacion!!!
« Respuesta #12 en: 5 Enero 2010, 20:02 pm »

Creo que despues de años, encontre hacer lo que busco :D

Miren lo que tengo:

Código
  1. Imports System.Threading
  2. Imports System.Net
  3.  
  4. Public Class Picdex
  5.  
  6. #Region "WebClients"
  7.    Dim _w1 As New WebClient
  8.    Dim _w2 As New WebClient
  9.  
  10.    Dim _hilo1 As Thread = New Thread(AddressOf TrabajoW1)
  11.    Dim _hilo2 As Thread = New Thread(AddressOf TrabajoW2)
  12. #End Region
  13.  
  14.        Private Sub Picdex_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  15.        AddHandler _w1.DownloadStringCompleted, AddressOf _hilo1.Start
  16.        AddHandler _w2.DownloadStringCompleted, AddressOf _hilo2.Start
  17.    End Sub
  18.  
  19.    Private Sub Comenzar(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  20.        _w1.DownloadStringAsync(New Uri("http://www.brodasoft.com.ar/Standart/index.html"))
  21.        _w2.DownloadStringAsync(New Uri("http://www.brodasoft.com.ar/Standart/VIDay.html"))
  22.    End Sub
  23.  
  24. #Region "Trabajos de W1"
  25.    Private Sub TrabajoW1()
  26.        MsgBox("TrabajoW1 Listo")
  27.        MsgBox("TrabajoW1 Fin")
  28.    End Sub
  29.  
  30.    Private Sub TrabajoW2()
  31.        MsgBox("TrabajoW2 Listo")
  32.        MsgBox("TrabajoW2 Fin")
  33.    End Sub
  34.  
  35. #End Region
  36.  
  37. End Class
  38.  

Se supone que este codigo le dará START al hilo correspondiente al webclient...
El problema, obviamente, es que no ahorro codigo.. porque tengo 1 metodo por cada hilo.. pero yo busco multiprocesamiento simetrico y descargas paralelas.. nada mas...

Pensé en hacer algo así yo:
crear los 2 webclients, y ejecutar siempre el mismo metodo creando un hilo por cada evento que se produzco y darle por parametro el webclient que produjo el evento.. pero.. para ésto, tendria que hacer algo así:
AddHandler _w1.DownloadStringCompleted, AddressOf (y aqui crear un hilo nuevo y mandar por parametros (_w1))

Pero.. en el addessOf no se pueden poner parametros.. :/
O sea.. no encuentro manera de ejecutar un hilo al producirce un evento, y que éste hilo tenga por parametros el webclient que se ejecutó.. No encuentro manera de establecer una buena sincronizacion..
Porque si hago:
AddHandler _w1.DownloadStringCompleted, AddressOf METODOX
y METODOX es un metodo que crea un hilo que manda por parametros a _w1..
Si 2 eventos se producen casi en el mismo instante.. no alcanza a crear el hilo el 1º evento que se produjo, porque el 2º es como si lo ELIMINARA.. como si cortara automaticamente el 1º evento antes de terminar su operacion de crear el 1º hilo
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Optimizar la aplicacion de facebook para Android
Android
jdc 1 10,474 Último mensaje 5 Septiembre 2012, 15:34 pm
por WHK
necesito crear una aplicacion
Programación General
criace 2 2,002 Último mensaje 21 Agosto 2016, 18:52 pm
por z3nth10n
Base App, la aplicación de Movistar para gestionar y optimizar el WiFi
Noticias
wolfbcn 0 1,327 Último mensaje 4 Octubre 2016, 12:54 pm
por wolfbcn
Necesito ayuda con el desarrolo de una aplicación
Java
Arexstein 1 1,816 Último mensaje 22 Octubre 2018, 22:30 pm
por rub'n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines