Латекс: hfill к определенной ширине

Да, вам нужна очередь производителя / потребителя. У меня есть один пример этого в моем учебнике по потокам - если вы посмотрите мою страницу "deadlocks / monitor методов" , вы найдете код во второй половине.

Конечно, в сети есть и много других примеров - и .NET 4.0 будет поставляться с одним в фреймворке (скорее, более полнофункциональным, чем мой!). В .NET 4.0 вы, вероятно, включили бы ConcurrentQueue в BlockingCollection .

Версия на этой странице не является общей (она была написана давно назад), но вы, вероятно, захотите сделать ее общей - это будет тривиально.

Вы должны вызывать Produce из каждого «нормального» потока и Consume из одного потока, просто зацикливаясь и регистрируя все, что он потребляет. Вероятно, проще всего сделать потребительский поток фоновым потоком, поэтому вам не нужно беспокоиться об «остановке» очереди при выходе из приложения. Это означает, что есть удаленная возможность пропустить окончательную запись журнала (если она наполовину записывается при выходе из приложения) - или даже больше, если вы производите быстрее, чем оно может потреблять / log.

11
задан Paul Biggar 10 October 2009 в 16:20
поделиться

4 ответа

\documentclass{article}

\begin{document}
\noindent\hbox to 0.5\textwidth{a}b

Curabitur viverra ligula a dui condimentum tempus. Aenean convallis, massa ut fermentum
convallis, leo justo iaculis lectus, quis molestie orci ligula ut leo. Quisque vitae neque   
sit amet tortor convallis rhoncus ac at nibh. Cras sit amet mauris sit amet neque 
tincidunt iaculis non non ante. Proin quis nisi porttitor enim adipiscing bibendum et  
fermentum magna. Morbi sapien nibh, venenatis in fringilla id, laoreet ut libero. 
\end{document}

NB: это работает, если ширина a меньше 0,5 \ textwidth, поэтому многоцветный ответ, вероятно, более разумен

6
ответ дан 3 December 2019 в 08:04
поделиться

Вы можете попробовать среду multicol с параметром columnsep , установленным на 0.

Кстати, существует также способ измерения размер визуализированной части через \ settowidth и \ settoheight .

2
ответ дан 3 December 2019 в 08:04
поделиться
a\hfill{}b\hspace{0.5\textwidth}
5
ответ дан 3 December 2019 в 08:04
поделиться

Попробуйте заменить \ hfill на \ hskip 0pt плюс 1fill, и вы сможете делать удивительные вещи. Например,


a\hskip 0pt plus .35 fill b\hskip 0pt plus .65 fill 
2
ответ дан 3 December 2019 в 08:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: