STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Functions
this_thread Namespace Reference

Functions

thread::id get_id () _NOEXCEPT
 
void yield () _NOEXCEPT
 
void sleep_until (const stdext::threads::xtime *_Abs_time)
 
template<class _Clock , class _Duration >
void sleep_until (const chrono::time_point< _Clock, _Duration > &_Abs_time)
 
template<class _Rep , class _Period >
void sleep_for (const chrono::duration< _Rep, _Period > &_Rel_time)
 

Function Documentation

thread::id this_thread::get_id ( )
inline
225  { // return id for current thread
226  return (_Thrd_current());
227  }
_CRTIMP2_PURE _Thrd_t __cdecl _Thrd_current(void)
template<class _Rep , class _Period >
void this_thread::sleep_for ( const chrono::duration< _Rep, _Period > &  _Rel_time)
inline
160  { // sleep for duration
161  stdext::threads::xtime _Tgt = _To_xtime(_Rel_time);
162  sleep_until(&_Tgt);
163  }
void sleep_until(const chrono::time_point< _Clock, _Duration > &_Abs_time)
Definition: thread:146
xtime _To_xtime(const chrono::duration< _Rep, _Period > &_Rel_time)
Definition: chrono:736
struct xtime xtime
void this_thread::sleep_until ( const stdext::threads::xtime _Abs_time)
inline
132  { // sleep until _Abs_time
134  {
137  ::Concurrency::wait(_Xtime_diff_to_millis2(_Abs_time, &_Now));
138  return;
139  }
140 
141  _Thrd_sleep(_Abs_time);
142  }
_CRTIMP2_PURE void __cdecl _Thrd_sleep(const xtime *)
struct xtime xtime
Definition: xtimec.h:19
_CRTIMP2_PURE long __cdecl _Xtime_diff_to_millis2(const xtime *, const xtime *)
_CRTIMP2_PURE int __cdecl xtime_get(xtime *, int)
_CRTIMP void __cdecl wait(unsigned int _Milliseconds)
Pauses the current context for a specified amount of time.
static _CRTIMP unsigned int __cdecl _Id()
template<class _Clock , class _Duration >
void this_thread::sleep_until ( const chrono::time_point< _Clock, _Duration > &  _Abs_time)
inline
148  { // sleep until time point
151  _Abs_time.time_since_epoch()).count();
152  _Tgt.nsec = (long)chrono::duration_cast<chrono::nanoseconds>(
153  _Abs_time.time_since_epoch() - chrono::seconds(_Tgt.sec)).count();
154  sleep_until(&_Tgt);
155  }
void sleep_until(const chrono::time_point< _Clock, _Duration > &_Abs_time)
Definition: thread:146
Definition: chrono:65
iterator_traits< _InIt >::difference_type count(_InIt _First, _InIt _Last, const _Ty &_Val)
Definition: xutility:3086
struct xtime xtime
_Duration time_since_epoch() const
Definition: chrono:271
enable_if< _Is_duration< _To >::value, _To >::type duration_cast(const duration< _Rep, _Period > &)
Definition: chrono:535
time_t sec
Definition: xtimec.h:24
duration< long long > seconds
Definition: chrono:558
void this_thread::yield ( )
inline
122  { // give up balance of time slice
124  { // yield, then quit
126  return;
127  }
128  _Thrd_yield();
129  }
_CRTIMP2_PURE void __cdecl _Thrd_yield(void)
static _CRTIMP void __cdecl _Yield()
static _CRTIMP unsigned int __cdecl _Id()