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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 41
71  Programación / Java / Re: threads , duda en: 10 Septiembre 2015, 05:44 am
Así es, parcialmente la idea es esa, pero en la realidad no hay suficientes núcleos para cubrir cada hilo de cada proceso por lo que estos se alternan, pero sí la idea es esa. Lo que es más en el sistema operativo windows hay una parte del registro que te dice cuántos núcleos posee tu procesador y de esta forma puedas lanzar un número dinámico de threads dependiendo de la situación.

Otra cosa a tener en cuenta es que los procesadores de intel con hyper-threading poseen la habilidad de manejar dos hilos por núcleo. Es decir que uno de estos procesadores con 4 núcleos tiene la capacidad de ejecutar 8 hilos simultaneamente casi con el mismo rendimiento que un procesador de 8 núcleos físicos.
72  Programación / Java / Re: threads , duda en: 7 Septiembre 2015, 20:53 pm
Bueno, te voy a plantear la prueba que hice una vez y los resultados que obtuve y de ahí deduces lo que quieras.

Creé una función dentro de mi aplicación que hacía 1,000 millones de sumas.
Primero lancé esa función en mi hilo principal y obtuve 2.4 segundos en tiempo de ejecución.
Después lancé esa función en un segundo hilo y la ejecuté al mismo tiempo dentro de mi hilo principal (o sea el doble de operaciones de suma) y el resultado en tiempo de ejecución fue de 2.7 segundos.

Como vez, el tiempo es casi el mismo usando dos hilos (pues mi procesador tiene dos núcleos) la diferencia es que hice el doble de operaciones por segundo.

Lo que mencionas sobre los recursos y el hecho de que el sistema operativo sea el que asigna un tiempo a cada hilo es irrelevante, pues al haber más de un núcleo siempre va estar un hilo en cada uno de los núcleos.

Ponte a pensar que si lo que dijeras es cierto, el haber inventado los procesadores con más de un núcleo no serviría de nada. Saludos y espero que los números hayan hablado. De todas formas si no me crees, has la prueba por ti mismo.

EDITADO:

https://es.wikipedia.org/wiki/Hilo_de_ejecuci%C3%B3n

En el enlace anterior ve a donde dice "Hilos a nivel de núcleo (KLT)"

Aquí también, al inicio, puedes leer acerca de como funciona el cambio de hilos y lo que mencionabas sobre los recursos, y de hecho, te dicen que esto es una ventaja.

"En muchos de los sistemas operativos que dan facilidades a los hilos, es más rápido cambiar de un hilo a otro dentro del mismo proceso, que cambiar de un proceso a otro. Este fenómeno se debe a que los hilos comparten datos y espacios de direcciones, mientras que los procesos, al ser independientes, no lo hacen."
73  Programación / Java / Re: threads , duda en: 7 Septiembre 2015, 06:57 am
Lo que mencionas es falso, una aplicación puede ejecutar dos hilos (pertenecientes al mismo proceso) en núcleos diferentes. E incluso puedes hacer las pruebas ejecutando un bucle que realice un trabajo intensivo; si tu PC tiene dos núcleos y ejecutas la función en un sólo hilo obtendrás una carga del procesador del 50% en el administrador de tareas y si ejecutas esa misma función en dos o más hilos obtendrás una carga del 100%.

Quizá lo que quisiste decir es que un mismo hilo sólo puede ejecutarse en un núcleo.
74  Programación / Java / Re: threads , duda en: 1 Septiembre 2015, 06:41 am
En efecto, lo que dice tu libro acerca de los hilos o threads es cierto, estos potencian mucho las aplicaciones, especialmente en procesadores multinucleo. Pero, los hilos unicamente son útiles en dos escenarios (creo, que alguien más me corrija si me equivoco) cuando tenemos un procesador con más de un núcleo y nuestro algoritmo puede hacer uso de todos los núcleos a la vez; y cuando debemos ejecutar una tarea en segundo plano por un tiempo prolongado y al mismo tiempo debemos ejecutar otras tareas por otro tiempo indefinido (tal es el caso de la GUI).

Los hilos funcionan de la siguiente manera:

-->Tienes un hilo principal
-->Creas un nuevo hilo con la dirección del código que ejecutará tu nuevo hilo (es decir, el método o función)
-->Lanzas el nuevo hilo.

A partir de este punto tu aplicación ya está corriendo dos hilos simultaneamente, es decir que ambas piezas de código se están ejecutando y tu segundo hilo terminará cuando llegue al final de tu función. Los hilos por lo general se usan, como te he dicho cuando tienes un código que demora mucho en ejecutarse y aún quieras que el usuario pueda emitir comando a la aplicación (un ejemplo de esto sería terminar la operación, como cuando presionas el botón de cancelar).

Debes tener en cuenta que los hilos no tienen un valor de retorno en el sentido tradicional de la palabra, pues al momento de que tú lanzar el hilo el flujo normal de tu programa seguirá sin esperar a que termina la función que estás ejecutando en el otro hilo que acabas de lanzar.

Te dejo el siguiente video que subí hace tiempo acerca de creación de hilos en C# y otro video de un caso práctico de uso en una aplicación:

https://youtu.be/GgyVTzXH804
https://youtu.be/vsd4SkAA8e4

Y uno más de multithreading en java

https://www.youtube.com/watch?v=ZxzCI3PAZwo

Por desgracia no encontré ningún video sobre los conceptos de la programación multihebra. Espero hacer uno pronto y subirlo.
75  Programación / .NET (C#, VB.NET, ASP) / Re: Cliente servidor En VB 2010 Sin Winsock en: 1 Septiembre 2015, 06:13 am
En .net utiliza las clases TCPClient y TCPListener. Ambas son parte del espacio de nombres System.Net.Sockets.

Para más información consulta MSDN. Saludos.
76  Programación / .NET (C#, VB.NET, ASP) / [APORTE] Pingadoo: Aplicación cliente ping. en: 30 Agosto 2015, 20:46 pm
Saludos, colegas programadores.

Les traigo el código fuente de una aplicación tipo "cliente ping" que nos puede servir para monitorear el estado de nuestros sitios web, u otros sitios (servers) que nos interesen.

En la descripción del video viene el enlace al código fuente. Si tienen sugerencias o encuentran bugs no duden en comentar.

Que tengan un buen día.

77  Programación / Java / Re: threads , duda en: 29 Agosto 2015, 06:55 am
Lo que se ejecuta en hilos distintos no son las clases, son las funciones de esas clases. Es decir que todo el tiempo tu aplicación ejecutará las funciones de cualquier clase en un hilo principal que es con el que comienzas. Cuando creas un nuevo hilo lo haces apuntando el hilo a una función y después ejecutas éste.

Quizá estés un poco confundido sobre la programación multihebra y su verdadero uso. Así que te recomiendo dar un repaso al concepto de programación multihebra primero.

También, dinos qué necesitas ejecutar en otro hilo y por qué necesitas ejecutarlo en otro hilo. Esto último es necesario siempre que programamos aplicaciones multihebra.
78  Programación / .NET (C#, VB.NET, ASP) / Re: Como poder hacer un salto en un textbox? en: 25 Agosto 2015, 01:41 am
No entiendo cual es el problema que tienes pero si lo que necesitas saber es cómo imprimir una nueva línea entonces necesitas agregar los caracteres de 'carriag return' y 'line feed' después de cada letra.

Si estás en VB sería la constante vbCrLf y en C# System.Environment.NewLine

Si esto no te sirve de mucho o no es lo que querías entonces publica tu código y di en qué parte tienes problemas.
79  Foros Generales / Sugerencias y dudas sobre el Foro / Re: ¿Este año se realizara el concurso/torneo de aplicaciones? en: 22 Agosto 2015, 06:51 am
Creo que lo que nos limita a muchos al momento de entrar o no entrar en el concurso es el aspecto del tiempo. El año paso se hizo con dos meses de plazo (creo) y varios de los usuarios que pensaban participar no pudieron entregar sus aplicaciones. Quizá si primero se informara sobre las intenciones de realizar el concurso y después se llevara a cabo el concurso en sí, los usuarios que quisieran participar tendrían el suficiente tiempo. O quizá estoy loco y esto no serviría de nada.

Por cierto, yo me apunto para un EHN-DEV y para el Abril negro no lo sé, pues de participar sería con algo muy básico.

Saludos a todos y espero que cualquiera de las dos opciones se lleve a cabo.
80  Programación / .NET (C#, VB.NET, ASP) / Re: Ciclo For en ListBox en: 8 Agosto 2015, 19:51 pm
A mi ver podrías hacerlo de dos maneras:

1.- Los guardas conforme los vas pasando en vez de guardarlos al final.

2.- Creas una lista donde tienes los items que has pasado y guardas únicamente estos.
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 41
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines