Estaba leyendo "CLR mediante C#" y encontré esta línea "Un hilo es un concepto de Windows cuyo trabajo es virtualizar la CPU". De Verdad? ¿Fue single \ multi thread originalmente de Windows?
Google buscando la justificación no ayudó y, por lo tanto, buscó ayuda de la comunidad.¿Es el hilo un concepto de Windows?
Respuesta
Respuesta corta: No, no es únicamente un concepto de Windows, y el concepto ha existido por bastante tiempo.
Supongo que lo que el autor realmente quiso decir es que el enhebrar como un mecanismo es algo que está siendo administrado por Windows y no por .NET Framework.
Lo que está descaradamente mal por cierto, los subprocesos de .NET no se asignan a los subprocesos del sistema operativo, pueden compartir un único subproceso e incluso cambiar a las fibras más ligeras entre bastidores. Realmente son algo de .NET. – Blindy
No hay nada en la documentación de C# que diga que no puedo hacer llamadas de bloqueo siempre que lo desee. Se ven y se comportan como hilos del sistema operativo para mí. El administrador de tareas parece pensar lo mismo: si hago 2000 hilos con C#, la MT muestra que mi proceso tiene hilos de 2001. Sería muy desagradable para .NET, (o cualquier otro marco o entorno), tratar de fibra/verde mi código. No puedo ver cómo podría hacerlo, TBH. –
Acepto, por ahora, que los hilos CLR se asignan a los hilos del SO, pero según vinevine esto puede cambiar en el futuro (o puede que ya lo haya hecho en 4.5 o 5.0). –
Creo que Amiga ya tenía multiprocesamiento. ¿Podría ser que el texto se refiera a que el multihilo es (también) un concepto de Windows pero no que sea (originalmente) una invención de Windows?
Diría que cuando hablamos de "enhebrar" en Windows existe una cierta suposición sobre la memoria compartida y la implementación. De hecho, nunca escuché el término "hilo" hasta que pasé a la programación de Windows (a diferencia de la programación integrada). Estaba más familiarizado con el multiprocesamiento y la multitarea. Entonces, el concepto no fue único, pero la terminología pudo haber cambiado. Debo señalar en mi experiencia anterior a Windows, que los procesos múltiples NO compartían memoria a menos que fuera global.
- 1. ¿Qué es el concepto de hilo único o múltiple en el área del sistema de archivos?
- 2. Software de viaje. ¿Es eso un concepto?
- 3. ¿Cuál es el concepto detrás de R.java?
- 4. ¿Cuál es el concepto de * rol de trabajador * en la nube de Windows Azure?
- 5. Comprender el concepto de Inodes
- 6. iPhone: ¿Cómo determinar si el hilo es el hilo principal?
- 7. ¿Cuál es el concepto de carril en YouTrack?
- 8. ¿Cuál es el concepto general detrás de XSS?
- 9. ¿Qué es un hilo Kernel?
- 10. ¿Cuál es el concepto detrás de la compresión zip?
- 11. ¿Cuál es el concepto de una Asamblea en .NET?
- 12. ¿Cuál es el concepto básico detrás de WaitHandle?
- 13. ¿Cuál es el concepto de "conformidad débil" en Scala?
- 14. Compruebe si el hilo actual es el hilo principal
- 15. Identificar el procesador (núcleo) es utilizado por un hilo específico
- 16. ¿Es seguro el hilo cerrado?
- 17. Boost, concepto mutex
- 18. ¿Es seguro el hilo unique_ptr?
- 19. concepto de concepto de página maestra en python
- 20. Obteniendo el concepto de Git de "etapa"
- 21. ¿El trabajador de fondo es un hilo? (C#)
- 22. ¿Es posible matar el hilo de BackgroundWorker?
- 23. ¿Es seguro pasar el evento del hilo principal al hilo de trabajo y esperarlo?
- 24. ¿Es seguro el hilo de Hunspell?
- 25. es + = en el hilo de python seguro?
- 26. ¿Es seguro el hilo de ACAccount?
- 27. ¿Es seguro el hilo ImmutableList.Builder de Guava?
- 28. ¿El prefijo "classpath:" es específico de Spring o se trata de un concepto de JVM?
- 29. tipificación de pato y el concepto
- 30. ¿Drools Fusion tiene un concepto de "ahora"?
Creo que lo que significa el libro es que los hilos son administrados por el kernel de Windows y no por el tiempo de ejecución de .NET. – MattDavey
Creo que esta pregunta pertenece a los programadores, pero entonces, ¿quién soy yo? Ya no puedes votar para cambiar de programador. –
Es un error fácil de entender. Técnicamente, un hilo es un concepto de nivel de sistema operativo. El O/S maneja los hilos. En el contexto de C#, en la mayoría de los casos, (Mono no está de acuerdo), el O/S será Windows, por lo que en este contexto, por lo general es un concepto de nivel de Windows. Tomado como una explicación general, no técnica de lo que es un hilo, tiene sentido. No es técnicamente preciso, pero su novato promedio no va a saber o preocuparse por la distinción. – David