Tizen Native API  4.0
Thread

Abstracts platform threads, providing an uniform API. It's modelled after POSIX THREADS (pthreads), on Linux they are almost 1:1 mapping.

See also:
Lock for mutex/locking abstraction.
Since (EFL) :
1.8

Functions

Eina_Thread eina_thread_self (void)
 Returns identifier of the current thread.
Eina_Bool eina_thread_equal (Eina_Thread t1, Eina_Thread t2)
 Checks if two thread identifiers are the same.
Eina_Bool eina_thread_create (Eina_Thread *t, Eina_Thread_Priority prio, int affinity, Eina_Thread_Cb func, const void *data)
 Creates a new thread, setting its priority and affinity.
void * eina_thread_join (Eina_Thread t)
 Joins a currently running thread, waiting until it finishes.
Eina_Bool eina_thread_name_set (Eina_Thread t, const char *name)
 Sets the name of a given thread for debugging purposes.

Typedefs

typedef uintptr_t Eina_Thread
typedef void *(* Eina_Thread_Cb )(void *data, Eina_Thread t)
typedef enum _Eina_Thread_Priority Eina_Thread_Priority

Typedef Documentation

Type for a generic thread.

Type for the definition of a thread callback function

Type to enumerate different thread priorities


Function Documentation

Eina_Bool eina_thread_create ( Eina_Thread t,
Eina_Thread_Priority  prio,
int  affinity,
Eina_Thread_Cb  func,
const void *  data 
)

Creates a new thread, setting its priority and affinity.

Parameters:
[out]twhere to return the thread identifier. Must not be NULL.
priothread priority to use, usually EINA_THREAD_BACKGROUND
affinitythread affinity to use. To not set affinity use -1.
funcfunction to run in the thread. Must not be NULL.
datacontext data to provide to func as first argument.
Returns:
EINA_TRUE if thread was created, EINA_FALSE on errors.
Since (EFL) :
1.8
Since :
3.0

Checks if two thread identifiers are the same.

Parameters:
t1first thread identifier to compare.
t2second thread identifier to compare.
Returns:
EINA_TRUE if they are equal, EINA_FALSE otherwise.
Since (EFL) :
1.8
Since :
3.0

Joins a currently running thread, waiting until it finishes.

This function will block the current thread until t finishes. The returned value is the one returned by t func() and may be NULL on errors. See Error to identify problems.

Parameters:
tthread identifier to wait.
Returns:
value returned by t creation function func() or NULL on errors. Check error with Error.
Since (EFL) :
1.8
Since :
3.0
Eina_Bool eina_thread_name_set ( Eina_Thread  t,
const char *  name 
)

Sets the name of a given thread for debugging purposes.

This maps to the pthread_setname_np() GNU extension or similar if available. The name may be limited in size (possibly 16 characters including the null byte terminator). This is useful for debugging to name a thread so external tools can display a meaningful name attached to the thread.

Parameters:
tthread to set the name of
namea string to name the thread - this cannot be NULL
Returns:
EINA_TRUE if it succeeds in setting the name or EINA_FALSE otherwise.
Since (EFL) :
1.16
Since :
3.0

Returns identifier of the current thread.

Returns:
identifier of current thread.
Since (EFL) :
1.8
Since :
3.0