Xailer Wiki

El entorno de desarrollo definitivo en Xbase

Herramientas de usuario

Herramientas del sitio


api.de.harbour

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
api.de.harbour [2013/05/01 09:57] iozunigaapi.de.harbour [2022/02/07 17:03] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
-===== HB_threadStart( <@sStart()> | <bStart> | <cStart> [, <params, ...> ] ) -> <pThID> =====+===== HB_threadStart( <@sStart()>|<bStart>|<cStart> [, <params, ...>] ) -> <pThID> =====
  
 Inicia un nuevo hilo. Retorna un puntero al hilo recien creado Inicia un nuevo hilo. Retorna un puntero al hilo recien creado
  
-== Ejemplos: == +** Ejemplos: **
  
   // usando puntero a la funcion (puede ser publica o estatica)    // usando puntero a la funcion (puede ser publica o estatica) 
Línea 18: Línea 17:
   hb_ThreadStart( {|| funcion() } )   hb_ThreadStart( {|| funcion() } )
  
-===== hb_threadSelf() -> <pThID> | NIL =====+===== hb_threadSelf() -> <pThID>|NIL =====
  
 Retorna el puntero al hilo de ejecución actual. NIL si es llamado desde el hilo principal de la aplicación. Retorna el puntero al hilo de ejecución actual. NIL si es llamado desde el hilo principal de la aplicación.
  
-===== hb_threadId( [ <pThID> ] ) -> <nThNo> =====+===== hb_threadId( [<pThID>] ) -> <nThNo> =====
  
 Retorna el identificador del hilo (número) de ejecución actual.  Retorna el identificador del hilo (número) de ejecución actual. 
  
-===== hb_threadJoin( <pThID> [, @<xRetCode> ] ) -> <lOK> =====+===== hb_threadJoin( <pThID> [, @<xRetCode>] ) -> <lOK> =====
  
 Espera a que termine un hilo de ejecución y en la salida el segundo parámetro que es pasado por referencia recoge el valor de retorno Del hilo.   Espera a que termine un hilo de ejecución y en la salida el segundo parámetro que es pasado por referencia recoge el valor de retorno Del hilo.  
Línea 38: Línea 37:
 Intenta matar un hilo de ejecución.  Intenta matar un hilo de ejecución. 
      
-== Nota:== +<note>Es muy recomandable que sea el programador el que establezca mecanismos para terminar los hilos de forma limpia.</note>
-Es muy recomandable que sea el programador el que establezca mecanismos para terminar los hilos de forma limpia.+
  
 ===== hb_threadTerminateAll() -> NIL ===== ===== hb_threadTerminateAll() -> NIL =====
Línea 49: Línea 47:
 Espera a que terminen todos los hilos de ejecución. Sólo debe de llamarse desde la aplicación principal. Espera a que terminen todos los hilos de ejecución. Sólo debe de llamarse desde la aplicación principal.
  
-===== hb_threadWait( <pThID> | <apThID>, [ <nTimeOut> ] ) => <nThInd> | <nThCount> | 0 =====+===== hb_threadWait( <pThID>|<apThID>, [<nTimeOut>] ) => <nThInd>|<nThCount>|0 =====
  
 Espera a que terminen los hilos de ejecución indicados (puede ser una matriz de hilos). El segundo parámetro indica el máximo tiempo a esperar a que terminen en segundos (se pueden usar decimales). Un valor -1 indica que espera indefinidamente. Retorna el primer hilo terminado, el número total de hilos terminados o el valor cero si no se cerró ninguno.  Espera a que terminen los hilos de ejecución indicados (puede ser una matriz de hilos). El segundo parámetro indica el máximo tiempo a esperar a que terminen en segundos (se pueden usar decimales). Un valor -1 indica que espera indefinidamente. Retorna el primer hilo terminado, el número total de hilos terminados o el valor cero si no se cerró ninguno. 
Línea 57: Línea 55:
 Permite crear una entidad Mutex. El Valtype() de una variable que contiene un Mutex es puntero. Un Mutex sirve para varias cosas, pero el uso más común es como semáforo aunque también se puede utilizar para suscripción a mensajes. Permite crear una entidad Mutex. El Valtype() de una variable que contiene un Mutex es puntero. Un Mutex sirve para varias cosas, pero el uso más común es como semáforo aunque también se puede utilizar para suscripción a mensajes.
  
-===== hb_mutexLock( <pMtx> [, <nTimeOut> ] ) -> <lLocked> =====+===== hb_mutexLock( <pMtx> [, <nTimeOut>] ) -> <lLocked> =====
  
 Marca el Mutex como bloqueado por el thread que llamó a la función. Esta función retorna solamente cuando obtuvo el bloqueo del Mutex. Marca el Mutex como bloqueado por el thread que llamó a la función. Esta función retorna solamente cuando obtuvo el bloqueo del Mutex.
Línea 75: Línea 73:
 Emite una notificación a todos los threads que esten en espera. Si no hay threads en espera es como si nunca se hubiera ejecutado la función, no se agregan ni quitan notificaciones que esten en cola. Es posible enviar información al thread que espera la suscripción, usando el segundo parámetro de la función. Emite una notificación a todos los threads que esten en espera. Si no hay threads en espera es como si nunca se hubiera ejecutado la función, no se agregan ni quitan notificaciones que esten en cola. Es posible enviar información al thread que espera la suscripción, usando el segundo parámetro de la función.
  
-===== hb_mutexSubscribe( <pMtx>, [ <nTimeOut> ] [, @<xSubscribed> ] ) -> <lSubscribed> =====+===== hb_mutexSubscribe( <pMtx>, [<nTimeOut>] [, @<xSubscribed>] ) -> <lSubscribed> =====
  
 Inscribe al thread para ser avisado de una notificación. Si hay notificaciones pendientes, sale inmediatamente, si no, queda bloqueado a la espera de una notificación. Se puede indicar un tiempo de espera (segundos), luego del cual se desbloqueará a pesar de no recibir ninguna notificación. Inscribe al thread para ser avisado de una notificación. Si hay notificaciones pendientes, sale inmediatamente, si no, queda bloqueado a la espera de una notificación. Se puede indicar un tiempo de espera (segundos), luego del cual se desbloqueará a pesar de no recibir ninguna notificación.
Línea 81: Línea 79:
 El thread que notifica, puede enviar una información en el momento de notificar la cual será recibida como tercer parámetro de la función de suscripción. Retorna un valor lógico verdadero si ocurrió la notificación y falso en caso de finalizar por timeout.   El thread que notifica, puede enviar una información en el momento de notificar la cual será recibida como tercer parámetro de la función de suscripción. Retorna un valor lógico verdadero si ocurrió la notificación y falso en caso de finalizar por timeout.  
  
-===== hb_mutexSubscribeNow( <pMtx>, [ <nTimeOut> ] [, @<xSubscribed> ] ) -> <lSubscribed> =====+===== hb_mutexSubscribeNow( <pMtx>, [<nTimeOut>] [, @<xSubscribed>] ) -> <lSubscribed> =====
  
 El funcionamiento es similar a la función Subscribe(), la única diferencia es que antes de comenzar, borra cualquier notificación pendiente.                     El funcionamiento es similar a la función Subscribe(), la única diferencia es que antes de comenzar, borra cualquier notificación pendiente.                    
api.de.harbour.1367402220.txt.gz · Última modificación: 2022/02/07 17:03 (editor externo)

Herramientas de la página