Существует необязательная перегрузка для DataBinder.Eval для предоставления форматирования:
<%# DataBinder.Eval(Container.DataItem, "expression"[, "format"]) %>
Параметр формата представляет собой строковое значение, использующее синтаксис замены заполнителя значения (называемый составным форматированием), например:
<asp:Label id="lblNewsDate" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "publishedDate", "{0:dddd d MMMM}") %>'</label>
От pthread_yield :
Подпрограмма pthread_yield заставляет вызывающий поток отказаться от использования своего процессора и ждать в очереди выполнения перед повторным планированием. Если очередь выполнения пуста при вызове подпрограммы pthread_yield, вызывающий поток немедленно перепланировывается.
sleep () переводит вызывающий процесс в спящий режим, пока не пройдут секунды секунды. или поступает сигнал, который не игнорируется.
Если вы не хотите, чтобы ваши потоки имели реальную временную задержку, а просто хотите, чтобы другие потоки выполняли свою работу, то pthread_yield лучше подходит, чем сон.
sleep () заставляет вашу программу прекращать выполнение на определенный промежуток времени. Независимо от того, что еще происходит в системе, ваш поток не будет запускаться снова, пока не истечет, по крайней мере, время, прошедшее для sleep (). pthread_yield () уведомляет операционную систему о том, что ваш поток завершен и может переключить выполнение на другой поток. Однако, если нет потока с более высоким приоритетом, который должен выполнять работу в это время, ваш поток может немедленно запуститься снова.
IOWs, после sleep () ваш поток гарантированно прекратит работу, даже если больше никому не нужно запускать , в то время как pthread_yield () - это просто вежливый способ дать другим потокам возможность запускаться, если они в этом нуждаются.
Обновление в ответ на обновление вопроса: и sleep (), и pthread_yield () влияют только на вызывающий поток.
sleep (s) берет текущий поток выполнения и приостанавливает его до тех пор, пока не пройдет s секунд (или он не будет разбужен сигналом.)
В более практических терминах, когда вы вызываете sleep (), этот поток прекращает выполнение и просто ... ждет, пока не пройдет указанное время. После прохождения этот поток помещается в очередь готовности.
pthread_yield () говорит: «Возьмите этот поток и поместите его в очередь готовности». Ваш поток прекратит выполнение и будет в состоянии ожидания, чтобы его выбрал / запустил планировщик. Это не гарантирует, что ваш поток не возобновит работу немедленно. Но это дает другому потоку возможность работать в определенный момент его выполнения.