Red de conocimiento informático - Material del sitio web - Cómo utilizar subprocesos múltiples para detectar en tiempo real el movimiento del mouse mientras se procesan imágenes. Solicite el código fuente en lenguaje C.

Cómo utilizar subprocesos múltiples para detectar en tiempo real el movimiento del mouse mientras se procesan imágenes. Solicite el código fuente en lenguaje C.

Su pregunta tiene más de 200 puntos.

Esta es una solución de diseño más compleja.

De hecho, no existe el concepto de subprocesos múltiples en lenguaje C, pero podemos lograr la multitarea a través de Task.

En pocas palabras, se puede utilizar la siguiente solución:

Defina una tarea principal y configúrela como tarea residente para la programación de tareas, el inicio/finalización de tareas y la gestión de interacciones.

Defina la lista de prioridades de tareas y utilice la prioridad como base para la programación y gestión de tareas.

Defina un dominio * * * y el mecanismo de gestión de distribución/difusión/transmisión de eventos correspondiente, y la tarea principal implementa la transmisión de eventos entre tareas.

Defina tres listas para gestionar y programar tareas activas, listas y muertas.

Defina tareas comunes, incluida la información básica de la tarea: el puntero de pila de la tarea, la información de la tarea, el tamaño del espacio de almacenamiento de la tarea, la prioridad de la tarea, la lista de eventos de la tarea ( definir los eventos que se pueden recibir/enviar y el número de eventos que se pueden poner en cola), definir la relación de dependencia (padre-hijo) de las tareas si es necesario.

Hay algunos puntos más a tener en cuenta:

1. Al combinar la sección crítica del lenguaje C con la operación PV, se logran los requisitos de procesamiento atómico de ciertas tareas.

2. Interrumpir y reiniciar mediante señales.

3. Si necesita manejar interrupciones y reinicios, debe prestar atención a la protección en el sitio.

4. Las tareas con la misma prioridad se pueden realizar simultáneamente mediante la rotación del intervalo de tiempo.

Eso es todo lo que puedo pensar por ahora. Si no lo entiende, podemos comunicarnos más a través de noticias :)