Foros del Web » Programación para mayores de 30 ;) » .NET »

Ejemplo ThreadPool

Estas en el tema de Ejemplo ThreadPool en el foro de .NET en Foros del Web. Hola, tengo una aplicación C# WinForm y dentro de ella tengo un for, dentro de ese for necesito disparar ‘N’ Thread para que hagan ‘N’ ...
  #1 (permalink)  
Antiguo 28/11/2008, 14:50
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Pregunta Ejemplo ThreadPool

Hola, tengo una aplicación C# WinForm y dentro de ella tengo un for, dentro de ese for necesito disparar ‘N’ Thread para que hagan ‘N’ tareas y pues creo que un ThreadPool seria necesario, alguien tendrá algún ejemplo de ThreadPool?

Gracias.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #2 (permalink)  
Antiguo 29/11/2008, 10:19
 
Fecha de Ingreso: agosto-2006
Ubicación: en lima peru
Mensajes: 184
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Ejemplo ThreadPool

Bueno no sé si te servira esto: pero es un ejemplo sencillo del uso de Threads:




Imports System.IO
Imports System.Threading

Public Class frmArchivo
Private objHiloTotal As Thread
Private objHiloLeer As Thread
Private tl As Integer

Private Sub DeshabilitarSeguridadHilos(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
pbrArchivo.Visible = False
CheckForIllegalCrossThreadCalls = False
End Sub

Private Sub MostrarSaludo(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSaludo.Click
MessageBox.Show("Hola", "Saludo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Sub

Private Sub MostrarDialogoAbrir(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbrir.Click
With ofdArchivo
.Title = "Abrir un Archivo de texto"
.Filter = "Archivos de texto|*.txt"
If .ShowDialog = Windows.Forms.DialogResult.OK Then
txtArchivo.Text = .FileName
Me.Text = Path.GetFileName(.FileName)
End If
End With
End Sub

Private Sub TotalLineasArchivo()
tl = 0
Using fs As New FileStream(txtArchivo.Text, FileMode.Open, FileAccess.Read)
Using sr As New StreamReader(fs)
Do While Not sr.EndOfStream
sr.ReadLine()
tl = tl + 1
Loop
End Using
End Using
End Sub

Private Sub LeerContenidoArchivo()
Dim f As Integer = tl \ 100
Dim c As Integer = 0
pbrArchivo.Visible = True
lstArchivo.Items.Clear()
Using fs As New FileStream(txtArchivo.Text, FileMode.Open, FileAccess.Read)
Using sr As New StreamReader(fs)
Do While Not sr.EndOfStream
If c Mod f = 0 Then
If pbrArchivo.Value < 100 Then
pbrArchivo.Value += 1
Else
pbrArchivo.Value = 0
pbrArchivo.Visible = False
End If
End If
c += 1
lstArchivo.Items.Add(sr.ReadLine())
Loop
End Using
End Using
End Sub

Private Sub LeerArchivo(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLeer.Click
objHiloTotal = New Thread(AddressOf TotalLineasArchivo)
objHiloTotal.Start()
objHiloTotal.Join()
objHiloLeer = New Thread(AddressOf LeerContenidoArchivo)
objHiloLeer.Start()
End Sub

End Class
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:57.