Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/08/2015, 22:52
Sebas_0101
 
Fecha de Ingreso: agosto-2015
Mensajes: 16
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Hilos que reporta el SO

Hola amigo gusto saludarte. Quiero comentarte que el sistema operativo es el encargado de administrar los recursos tanto de hadware como software de tu pc. En ese punto si cuentas con con diversos procesadores el sistema operativo podrá iniciar tantos hilos como la capacidad de tu pc lo permita. Me encantaria poder darte un número especifico de hilos pero no me es posible debido a que es demaciado relativo. Sin embargo es posible saberlo para cada caso en particular. A continuación te dejo una sección de código que te ayudará a saber la cantidad soportada. El siguiente código está en C#

bibliotecas usadas
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Net.Sockets;
Crea un formulario y en este un botón.
Dentro del bóton coloca el siguiente código.
try
{
int hilos = 1000;

syncrono Asy = new syncrono();
Thread[] clientThread = new Thread[hilos];


for (int cont = 0; cont < hilos; cont++)
clientThread[cont] = new Thread(new ThreadStart(hilos2));


for (int cont = 0; cont < hilos; cont++)
clientThread[cont].Start();
}
catch (Exception er)
{
MessageBox.Show(""+er);

}

Dentro del formulario crea un método el que te coloco a continuación.
public void hilos2()
{

int transacciones = 5; // cantidad de procesos por hilo
syncrono[] sincrono = new syncrono[transacciones];

for (int cont = 1; cont < transacciones; cont++)
sincrono[cont] = new syncrono();


TimeSpan stop;
TimeSpan start = new TimeSpan(DateTime.Now.Ticks);
// codigo a medir
for (int cont = 1; cont < transacciones; cont++)
sincrono[cont].StartClient();

stop = new TimeSpan(DateTime.Now.Ticks);

segundos = (stop.Subtract(start).TotalMilliseconds) / 1000;
MessageBox.Show("Tiempo de transacciones: " + segundos);

}
no olvides declarar la variable segundos en el formulario double segundos =0;
como puedes observar amigo inicio con mil hilos, pruebalo de 100 en 100 hasta que tu sistema no soporte más. En otras palabras realiza una prueba de estrez.
Amigo, saludos cordiales. Si esto no resuelve tu duda por favor comunicate para ver de qué otra forma poder ayudarte.