ifdef thread