<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Персональный сайт</title>
		<link>http://lasuch.ucoz.com/</link>
		<description></description>
		<lastBuildDate>Fri, 27 Jun 2014 16:47:19 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://lasuch.ucoz.com/news/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>МЕГАН ФОКС ДО И ПОСЛЕ ПЛАСТИКИ ФОТО</title>
			<description>&lt;div&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;На фото изображена известная голливудская актриса Меган Фокс. На данный момент эта актриса очень популярна из-за своей схожестью с другой, не менее популярной актрисой Анжелиной Джоли.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Но похожа она на нее стала, только после пластики. Да-да именно пластики, до самой пластики Меган Фокс была обычной девчонкой и ни капельки не была похожа на саму Анжелину.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Многие поклонники и телезрители даже не знали и не видели на фото Меган Фокс до пластики, ведь все общая популярность ей пришла после пластики.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;И им бы несомненно хотелось бы знать и видеть фото Меган Фокс до и после операции (действительно ли произошли изменения).&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Хотя сама Меган Фокс утверждает, что не когда не делала пластики. Но это не так, хоть и актриса отрицает присутствие пластики, сохранилась не малое количество сделанных фото на которых можно расс...</description>
			<content:encoded>&lt;div&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;На фото изображена известная голливудская актриса Меган Фокс. На данный момент эта актриса очень популярна из-за своей схожестью с другой, не менее популярной актрисой Анжелиной Джоли.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Но похожа она на нее стала, только после пластики. Да-да именно пластики, до самой пластики Меган Фокс была обычной девчонкой и ни капельки не была похожа на саму Анжелину.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Многие поклонники и телезрители даже не знали и не видели на фото Меган Фокс до пластики, ведь все общая популярность ей пришла после пластики.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;И им бы несомненно хотелось бы знать и видеть фото Меган Фокс до и после операции (действительно ли произошли изменения).&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Хотя сама Меган Фокс утверждает, что не когда не делала пластики. Но это не так, хоть и актриса отрицает присутствие пластики, сохранилась не малое количество сделанных фото на которых можно рассмотреть разницу Меган Фокс до и после пластики. Но от чего же она пошла на коррекцию своей внешности, что подтолкнула ее на пластику? А подтолкнула ее на это популярность Анжелины.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Как до пластики, так и после нее Меган Фокс выглядит потрясающе.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Но не известно, стала бы она популярной не делая пластики, ведь до того как она сделала пластику, Меган Фокс не пользовалась большой популярностью, но после пластики все изменилось.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;После сделанной пластики Меган Фокс тут же стали приглашать на главные роли таких знаменитых фильмом как «Трансформеры», «Трансформеры месть падших» и «Тело Дженнифер». После сделанной пластики Меган Фокс, режиссеры рассмотрели ней новую Анжелину, но хоть сама актриса не согласна в том что сейчас они похожи, тем не менее это не так и если сравнить фото Меган и фото Анжелины Джоли, то можно увидеть колоссальное сходство.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Но лицо Меган Фокс это не все изменения которые она перенесла до и после пластики. Так же претерпел изменение до и после пластики, бюст знаменитой актрисы.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Но актриса и здесь отрицает какие либо изменения, но так же имеются фото на которых видно разницу до и после пластики. И зря Меган Фокс пытается скрыть, что сделала пластику, на самом деле здесь нет чего криминального. А красиво выглядеть хочет каждый как в жизни так и на фото, и каждый имеет на это право.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Что же касается самой Меган Фокс, то можно сказать, что после пластики она заметно преобразилась и стала на много лучше выглядеть чем до пластики как в жизни так и на фото!!!&lt;/p&gt;
&lt;p&gt;No Comments Yet.&lt;/p&gt;&lt;/div&gt;</content:encoded>
			<link>https://lasuch.ucoz.com/news/megan_foks_do_i_posle_plastiki_foto/2014-06-27-370</link>
			<dc:creator>plecou</dc:creator>
			<guid>https://lasuch.ucoz.com/news/megan_foks_do_i_posle_plastiki_foto/2014-06-27-370</guid>
			<pubDate>Fri, 27 Jun 2014 16:47:19 GMT</pubDate>
		</item>
		<item>
			<title>Нужны ли старые вещи?</title>
			<description>&lt;p&gt;Статья находится в разделе: &lt;a href=&quot;#домашний очаг&quot;&gt;Домашний очаг&lt;/a&gt;, разместил(а) elena, 22-04-2013, 08:39
&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Какой дом можно с уверенностью назвать уютным? Такой, в котором «живут» любимые вещи, царит доброжелательная атмосфера и чувствуется индивидуальность хозяев. И совсем необязательно, что бы в таком доме был идеальный евроремонт или дорогая дизайнерская мебель. Прежде всего, важно ощущение простора, свежего воздуха и света.&lt;br/&gt;&lt;br/&gt; Но чем дольше вы живёте в своём доме, тем с каждым годом всё больше и больше у вас скапливается ненужных вещей, которые чаще всего ох, как сложно выбросить. И вся борьба с хламом заключается в бесполезном перекладывании ненужных вещей с одного мета в другое и сопровождается нотками ностальгической грусти. А ведь старые вещи способны не только захламлять квартиру, оккупируя свободные места, но и самым худшим образом, влиять на наше самочувствие.&lt;br/&gt;&lt;br/&gt;Старые вещи - это связующее звено между прошлым и будущем. И естественно, что мы...</description>
			<content:encoded>&lt;p&gt;Статья находится в разделе: &lt;a href=&quot;#домашний очаг&quot;&gt;Домашний очаг&lt;/a&gt;, разместил(а) elena, 22-04-2013, 08:39
&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Какой дом можно с уверенностью назвать уютным? Такой, в котором «живут» любимые вещи, царит доброжелательная атмосфера и чувствуется индивидуальность хозяев. И совсем необязательно, что бы в таком доме был идеальный евроремонт или дорогая дизайнерская мебель. Прежде всего, важно ощущение простора, свежего воздуха и света.&lt;br/&gt;&lt;br/&gt; Но чем дольше вы живёте в своём доме, тем с каждым годом всё больше и больше у вас скапливается ненужных вещей, которые чаще всего ох, как сложно выбросить. И вся борьба с хламом заключается в бесполезном перекладывании ненужных вещей с одного мета в другое и сопровождается нотками ностальгической грусти. А ведь старые вещи способны не только захламлять квартиру, оккупируя свободные места, но и самым худшим образом, влиять на наше самочувствие.&lt;br/&gt;&lt;br/&gt;Старые вещи - это связующее звено между прошлым и будущем. И естественно, что мы испытываем трудности при расставании с ними. Но нужно чётко уяснить, что наличие старых вещей в доме очень плохо сказывается на самочувствии его жильцов.&lt;br/&gt; Какой же вред способен нанести нашему здоровью старый хлам? Прочтите эту статью и если, вас что-то заставит задуматься, то оглянитесь вокруг себя, возможно, вам всё-таки нужно от чего- то избавиться?&lt;br/&gt;&lt;br/&gt; - Ненужные вещи затрудняют выполнение любой задачи. Хлам в коридоре может являться причиной плохого физического и эмоционального самочувствия, привести к закупорке артериальных сосудов и сбоев в лимфатической системе организма.&lt;br/&gt;Старые вещи, лежащие на полу - это вампиры, способные поглощать вашу энергию.&lt;br/&gt;&lt;br/&gt; Накопленные вещи, лежащие у вас над головой, становятся символом нерешённых проблем и изо дня в день накапливают их.&lt;br/&gt;- Вещи, сложенные под кроватью, плохо влияют на сон.&lt;br/&gt;&lt;br/&gt; - Большое накопление старых вещей приводят вас в чувство дезорганизации, вам кажется, что вы постоянно терпите неудачу.&lt;br/&gt;- И да, старые вещи очень значительно ограничивают ваши возможности! Представьте, сколько времени у вас уходит, что бы всё это старьё содержать в более-менее приличном состоянии!&lt;br/&gt;&lt;br/&gt; - Старые ненужные вещи имеют превосходное свойство создавать хаос в вашей жизни, погружать в состояние депрессии, худшим образом влиять на самочувствие как физическое, так и эмоциональное и даже привести к ожирению.&lt;br/&gt;&lt;br/&gt; - Больше вещей – больше препятствий и спотыканий, больше потерь и чувства вины из-за того, что ты небрежно относишься к своим вещам. &lt;br/&gt;&lt;br/&gt;- Чем больше у вас всего ненужного, тем больше вы затрачиваете времени на обслуживание того, что вам мешает. Вы становитесь заложником хлама, и он постепенно овладевает вами.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Если же, после прочтения этой стать, вы нашли хоть несколько совпадений, то начните разбирать завалы незамедлительно! Может случиться так, что ненужные вещи очень пригодятся кому-то из ваших близких, так что не спешите выбрасывать всё подряд, а предложите друзьям что-то из того, что вам уже не доставляет радость. А вот кому-то эта вещь очень понравится, а значит она обретёт новую жизнь в руках счастливого хозяина! &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;
Вам понравилась статья &quot; Нужны ли старые вещи? &quot;? Пожалуйста, выскажитесь о прочитанном в комментариях ниже. Нам очень важно и интересно Ваше мнение. Также Вы можете поделиться ссылкой на этот материал со своими друзьями и знакомыми в популярных социальных сетях. Спасибо!
&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;</content:encoded>
			<link>https://lasuch.ucoz.com/news/nuzhny_li_starye_veshhi/2014-05-15-369</link>
			<dc:creator>plecou</dc:creator>
			<guid>https://lasuch.ucoz.com/news/nuzhny_li_starye_veshhi/2014-05-15-369</guid>
			<pubDate>Thu, 15 May 2014 15:39:42 GMT</pubDate>
		</item>
		<item>
			<title>Меган Фокс (Меган Денис Фокс)</title>
			<description>&lt;div&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&lt;b&gt;
&lt;h1&gt;Меган Фокс (Меган Денис Фокс)
&lt;/h1&gt;&lt;/b&gt;&lt;/b&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;br/&gt;&lt;img src=&quot;http://www.kino-tv-forum.ru/_pu/4/42848118.jpg&quot; alt=&quot;Меган Фокс (Меган Денис Фокс)&quot;/&gt;&lt;br/&gt;&lt;h1 align=&quot;center&quot;&gt;Биография&lt;/h1&gt;
17 мая 1986 года родилась в американском штате Теннесси девочка, которую
назвали Дениз Меган Фокс. В её родословной присутствуют ирландские,
французские, русские и индейские корни. Предпосылки к блестящему
артистическому будущему девочки появились почти сразу, ведь она начала
брать театральные и танцевальные уроки уже в возрасте пяти лет, и при
том успешно с самого начала. Родители Меган пообещали ей что не допустят
чтобы их младшая дочь отказалась от развития своего таланта, несмотря
на то что семье пришлось переехать во Флориду, когда Меган было 10 лет, и
поэтому в будущем актриса с их помощью продолжила свою подготовку.
&lt;br/&gt;&lt;br/&gt;В 13 лет успехи в танцах привели к возможности выбирать, и Меган Фокс
сделала свой выбор в жизни: В 1999 году она получила несколько наград на
...</description>
			<content:encoded>&lt;div&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&lt;b&gt;
&lt;h1&gt;Меган Фокс (Меган Денис Фокс)
&lt;/h1&gt;&lt;/b&gt;&lt;/b&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;br/&gt;&lt;img src=&quot;http://www.kino-tv-forum.ru/_pu/4/42848118.jpg&quot; alt=&quot;Меган Фокс (Меган Денис Фокс)&quot;/&gt;&lt;br/&gt;&lt;h1 align=&quot;center&quot;&gt;Биография&lt;/h1&gt;
17 мая 1986 года родилась в американском штате Теннесси девочка, которую
назвали Дениз Меган Фокс. В её родословной присутствуют ирландские,
французские, русские и индейские корни. Предпосылки к блестящему
артистическому будущему девочки появились почти сразу, ведь она начала
брать театральные и танцевальные уроки уже в возрасте пяти лет, и при
том успешно с самого начала. Родители Меган пообещали ей что не допустят
чтобы их младшая дочь отказалась от развития своего таланта, несмотря
на то что семье пришлось переехать во Флориду, когда Меган было 10 лет, и
поэтому в будущем актриса с их помощью продолжила свою подготовку.
&lt;br/&gt;&lt;br/&gt;В 13 лет успехи в танцах привели к возможности выбирать, и Меган Фокс
сделала свой выбор в жизни: В 1999 году она получила несколько наград на
американском танцевальном шоу «American Modeling and Talent Convention
in Hilton Head», проходившем в Южной Каролине. После этого она
переезжает в Лос-Анджелес, ради будущей актерской карьеры в
малоизвестных картинах. Ее дебют пришелся на 2001 год в картине с
участием Мэри-Кейт и Эшли Олсен «Солнечные каникулы». Далее были
эпизодические роли, например, в сериале с &lt;a href=&quot;#аманда байнс&quot;&gt;Амандой Байнс&lt;/a&gt; «Что я в тебе
люблю». &lt;br/&gt;&lt;br/&gt;В 2004 году Меган Фокс работает на вторых ролях в Голливуде
вместе с Линдсей Лохан в «Признании», а также в подростковой драме
«Королева ТВ» и в кинофильме «Преступления Моды».
В Голливуде начали замечать эту зарождающуюся кинозвезду, когда Меган
пополнила ряды девушек-актрис, позирующих в мужских журналах, таких, как
FHM (2005 год). В следующем году она уже занимала 68 место в списке 100
самых сексуальных женщин 2006 года по версии FHM. И, наконец, в 2007
году, она продолжила сниматься. &lt;br/&gt;&lt;br/&gt;В 2007 году к Меган Фокс пришел настоящий успех, поскольку она приняла
участие в главной и самой зрелищной кинокартине 2007 года -
«Трансформеры» - где исполнила роль Микаэлы.
&lt;h1 align=&quot;center&quot;&gt;Фильмография&lt;/h1&gt;
21. Пересечение The Crossing&lt;br/&gt;20. Черепашки-ниндзя (2014) Ninja Turtles ... April O&apos;Neil&lt;br/&gt;19. Любовь по-взрослому (2012) This Is 40 ... Desi&lt;br/&gt;18. Свадебная группа (сериал, 2012 – 2013) Wedding Band ... Alexa&lt;br/&gt;17. Робоцып: Специально для DC Comics (ТВ, 2012) Robot Chicken: DC Comics Special ... Lois Lane, озвучка&lt;br/&gt;16. Дети сексу не помеха (2012) Friends with Kids ... Mary Jane&lt;br/&gt;15. Игры страсти (2010) Passion Play ... Lily Luster&lt;br/&gt;14. Джона Хекс (2010) Jonah Hex ... Lilah&lt;br/&gt;13. Тело Дженнифер (2009) Jennifer&apos;s Body ... Jennifer&lt;br/&gt;12. Трансформеры: Месть падших (2009) Transformers: Revenge of the Fallen ... Mikaela Banes&lt;br/&gt;11. Шлюшка (2008) Whore ... Lost&lt;br/&gt;10. Как потерять друзей и заставить всех тебя ненавидеть (2008) How to Lose Friends &amp;amp; Alienate People ... Sophie Maes&lt;br/&gt;9. Трансформеры (2007) Transformers ... Mikaela Banes&lt;br/&gt;8. Робоцып (сериал, 2005 – ...) Robot Chicken ... Lois Lane, озвучка&lt;br/&gt;7. Преступление моды (ТВ, 2004) Crimes of Fashion ... Candace&lt;br/&gt;6. Звезда сцены (2004) Confessions of a Teenage Drama Queen ... Carla&lt;br/&gt;5. Королева экрана (сериал, 2003 – 2006) Hope &amp;amp; Faith ... Sydney Shanowski&lt;br/&gt;4. 2,5 человека (сериал, 2003 – ...) Two and a Half Men ... Prudence&lt;br/&gt;3. Все лучшее в тебе (сериал, 2002 – 2006) What I Like About You ... Shannon&lt;br/&gt;2. Ocean Ave. (сериал, 2002 – 2003) Ocean Ave. ... Ione Starr&lt;br/&gt;1. Солнечные каникулы (видео, 2001) Holiday in the Sun ... Brianna&lt;br/&gt; &lt;br/&gt;&lt;i&gt;&lt;br/&gt;&lt;/i&gt;
&lt;ul&gt;&lt;li&gt;&lt;i&gt;Полное имя — Меган Денис Фокс (Megan Denise Fox).&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;Имеет татуировку на правом плече «We will all laugh at gilded butterflies».&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;В
1999 году она получила несколько наград на американском танцевальном
шоу American Modeling and Talent Convention in Hilton Head, проходившем
в Южной Каролине.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;Меган Фокс честно призналась
в интервью журналу MAXIM, что «принимала некоторые виды наркотиков,
но они ей не понравились». Сама же она в добавок заявляет, что на
наркоте «сидит» почти весь Голливуд. Меган лично выступает
за легализацию марихуаны.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;В 2007 году признана
самой сексуальной женщиной мира по версии журнала FHM. Меган «обошла»
даже таких соперниц как: Анджелина Джоли, Стейси Фергюсон (Ферджи)
и Скарлетт Йоханнсон.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;В 2008 году была признана самой сексуальной женщиной мира по версии мужского журнала MAXIM.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;В родословной присутствуют ирландские, итальянские, французские и индейские корни.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;В 1991 году, в возрасте 5 лет начала обучение в детской школе драмы и танца в Кингстоне, штат Теннесси. Пела в городском хоре.&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;
Категория: &lt;a href=&quot;#актриса&quot;&gt;Актрисы&lt;/a&gt;
Теги: &lt;/div&gt;</content:encoded>
			<link>https://lasuch.ucoz.com/news/megan_foks_megan_denis_foks/2014-05-15-368</link>
			<dc:creator>plecou</dc:creator>
			<guid>https://lasuch.ucoz.com/news/megan_foks_megan_denis_foks/2014-05-15-368</guid>
			<pubDate>Thu, 15 May 2014 07:47:10 GMT</pubDate>
		</item>
		<item>
			<title>Частые ошибки при разработке lockfree-алгоритмов и и�</title>
			<description>&lt;div&gt;&lt;p&gt;27 марта в 03:21&lt;/p&gt;
&lt;h1&gt;
Частые ошибки при разработке lockfree-алгоритмов и их решения
&lt;/h1&gt;
На хабре уже было несколько статей про lock-free алгоритмы. Этот пост — это перевод статьи &lt;a href=&quot;#коллега мой&quot;&gt;моего коллеги&lt;/a&gt;, которую мы планируем публиковать в нашем корпоративном блоге. По роду деятельности мы пишем огромное количество lock-free алгоритмов и структур данных, и этой статьей хочется показать, насколько это интересно и сложно одновременно.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://habrastorage.org/storage2/351/101/7fd/3511017fd0ec9ee162aef50b6cbd71ae.jpeg&quot;/&gt;&lt;br/&gt;&lt;br/&gt; Эта статья во многом похожа на &lt;a href=&quot;#статья этот&quot;&gt;эту статью&lt;/a&gt;, но в той статье рассматриваются не все проблемы, с которыми можно столкнуться, разрабатывая lock-free структуры данных, и уделяется очень мало внимания решению этих проблем. В этой статье хочется детально остановиться на некоторых решениях, которые мы используем в реальной реализации lock-free структур данных в нашем продукте, и больше внимания у...</description>
			<content:encoded>&lt;div&gt;&lt;p&gt;27 марта в 03:21&lt;/p&gt;
&lt;h1&gt;
Частые ошибки при разработке lockfree-алгоритмов и их решения
&lt;/h1&gt;
На хабре уже было несколько статей про lock-free алгоритмы. Этот пост — это перевод статьи &lt;a href=&quot;#коллега мой&quot;&gt;моего коллеги&lt;/a&gt;, которую мы планируем публиковать в нашем корпоративном блоге. По роду деятельности мы пишем огромное количество lock-free алгоритмов и структур данных, и этой статьей хочется показать, насколько это интересно и сложно одновременно.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://habrastorage.org/storage2/351/101/7fd/3511017fd0ec9ee162aef50b6cbd71ae.jpeg&quot;/&gt;&lt;br/&gt;&lt;br/&gt; Эта статья во многом похожа на &lt;a href=&quot;#статья этот&quot;&gt;эту статью&lt;/a&gt;, но в той статье рассматриваются не все проблемы, с которыми можно столкнуться, разрабатывая lock-free структуры данных, и уделяется очень мало внимания решению этих проблем. В этой статье хочется детально остановиться на некоторых решениях, которые мы используем в реальной реализации lock-free структур данных в нашем продукте, и больше внимания уделить оценке производительности.&lt;br/&gt;&lt;a name=&quot;habracut&quot;&gt;&lt;br/&gt; По определению, lock-free алгоритм гарантирует, что время между двумя подряд идущими завершенными операциями ограничено сверху некоторой величиной, которая не зависит от того, как операционная система эти потоки распределит во времени. Такая гарантия звучит очень приятно, потому что потоки могут обращаться к одному и тому же участку памяти одновременно, и даже если операционная система решит временно усыпить один или несколько потоков посреди выполнения какой-то операции с этим участком памяти, остальные потоки продолжат работу. Как бы два или более потока не пересеклись друг с другом во времени, хотя бы один из них всегда завершится за конечное время (в отличие от wait-free, lock-free не гарантирует, что все они завершатся за конечное время).&lt;br/&gt;&lt;br/&gt; Lock-free алгоритмы обычно противопоставляются традиционному подходу к написанию многопоточных приложений с использованием блокировок вокруг кода, обращающегося к общим участкам памяти. Когда поток хочет обратиться к памяти, он блокирует к ней доступ других потоков. Если какой-то другой поток заблокировал доступ раньше, то текущий поток ждет, пока блокировка не будет снята. Если операционная система решит временно усыпить поток, владеющий блокировкой, вся система останавливается без возможности изменить общий участок памяти.&lt;br/&gt;&lt;br/&gt; Вместо использования блокировок, lock-free алгоритмы используют команду, известную как compare and swap (CAS). Ее логику можно описать следующим фрагментом кода, с той оговркой, что CAS выполняется атомарно:&lt;br/&gt;&lt;br/&gt;1 bool CompareAndSwap(Value* addr, Value oldVal, Value newVal){
2 if(*addr == oldVal){
3 *addr = newVal;
4 return true;
5 }else{
6 return false;
7 }
8 }
&lt;br/&gt;&lt;br/&gt; Основными проблемами lock-free алгоритмов являются следующие три:&lt;br/&gt;&lt;br/&gt; 1. Часто lock-free реализация является менее практичной, чем реализация с блокировками.&lt;br/&gt; 2. Писать lock-free код не просто.&lt;br/&gt; 3. Писать правильный lock-free код невероятно сложно.&lt;br/&gt;&lt;br/&gt; Чтобы доказать пункт три, расмотрим простой пример — реализацию стека на связных списках. Если попросить человека, не знакомого с lock-free написать стек, то его первая реализация будет примерно следующей:&lt;br/&gt;&lt;br/&gt; Для операции добавления в стек, создадим новый элемент связного списка, указатель на следующий элемент которого указывает на текущую вершину стека. Затем попытаемся с помощью CAS поменять вершину стека на новый элемент. Если CAS проходит успешно, элемент вставлен. Если CAS возвращается с ошибкой (что значит, что вершина стека изменилась между тем, как мы ее прочитали, и тем, как CAS выполнился), повторим все с начала.&lt;br/&gt;&lt;br/&gt; Для операции удаления из стека, запомним текущую вершину стека, и, с помощью CAS, попытаемся поменять ее на значение ее указателя на следующий элемент. Если CAS прошел успешно, то элемент из стека убран, иначе вершина стека была изменена другим потоком, и мы пытаемся удалить ее опять.&lt;br/&gt;&lt;br/&gt; На С++ это будет выглядить примерно следующим образом:&lt;br/&gt;&lt;br/&gt; 1 template &lt;class Entry&amp;gt;
2 class LockFreeStack{
3 struct Node{
4 Entry* entry;
5 Node* next;
6 };
7
8 Node* m_head;
9
10 void Push(Entry* e){
11 Node* n = new Node;
12 n-&amp;gt;entry = e;
13 do{
14 n-&amp;gt;next = m_head;
15 }while(!CompareAndSwap(&amp;amp;m_head, n-&amp;gt;next, n));
16 }
17
18 Entry* Pop(){
19 Node* old_head;
20 Entry* result;
21 do{
22 old_head = m_head;
23 if(old_head == NULL){
24 return NULL;
25 }
26 }while(!CompareAndSwap(&amp;amp;m_head, old_head, old_head-&amp;gt;next));
27
28 result = old_head-&amp;gt;entry;
29 delete old_head;
30 return result;
31 }
32 }
&lt;br/&gt;&lt;br/&gt; К сожалению, эта, кажущаяся на первый взгляд разумной, реализация lock-free стека содержит огромное количество ошибок.&lt;br/&gt;&lt;br/&gt;&lt;h5&gt;SegFault&lt;/h5&gt;&lt;br/&gt; Даже самый простой тест такого стека быстро упадет с Segmentation Fault. Причина — в строке 22 мы читаем указатель на текущую вершину стека. В стоке 26 мы обращаемся к ее полю next. За время между тем, как мы прочитали указатель, и тем, как мы обратились к его полю next, одновременно выполняющийся Pop мог удалить этот элемент (строка 29), тем самым приведя к тому, что память, прочитанная в стоке 26, уже освобождена.&lt;br/&gt; Для правильной работы алгоритма необходим какой-то безопасный алгоритм управления памятью.&lt;br/&gt;&lt;br/&gt;&lt;h5&gt;Потеря элемента&lt;/h5&gt;&lt;br/&gt; Успешный CAS не гарантирует, что за время его выполнения память не была изменена. Он гарантирует, что ее значение в момент, когда он ее перезаписал, было равно тому значению, которое ему передано как ожидаемое. Иными словами, если вы вызываете CAS(ptr, 5, 6) в момент, когда значение в ptr равно пяти, затем другой поток меняет значение в ptr на семь, и затем обратно на пять, CAS выполнится успешно, перезависав пять шестью. Это может привести к проблеме, известной как проблема ABA. Рассмотрим следующий пример:&lt;br/&gt;&lt;br/&gt; Допустим, что в стеке сейчас два элемента, A -&amp;gt; C.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Поток 1&lt;/b&gt; вызывает Pop, читает в строке 22 m_head (A), в строке 26 читает old_head-&amp;gt;next (С), а затем операционная система усыпляет поток.&lt;br/&gt;&lt;b&gt;Поток 2&lt;/b&gt; вызывает Pop, и успешно убирает элемент A.&lt;br/&gt;&lt;b&gt;Поток 2&lt;/b&gt; вызывает Push, и успешно вставляет элемент B.&lt;br/&gt;&lt;b&gt;Поток 2&lt;/b&gt; вызывает Push опять, и вставляет элемент, расположенный по тому же адресу, что и A (либо A был освобожден, и затем другой элемент был заведен по тому же адресу, либо пользователь решил вставить элемент, который он только что взял со стека, обратно)&lt;br/&gt;&lt;b&gt;Поток 1&lt;/b&gt; просыпается, и вызывает CAS. CAS выполняется успешно, не смотря на то, что за это время m_head изменился три раза! Как следствие, элемент B потерян.&lt;br/&gt;&lt;br/&gt;&lt;h5&gt;Не lock-free&lt;/h5&gt;&lt;br/&gt; Стандарт С++ не гарантирует, что new и delete являются lock-free. В чем смысл разрабатывать lock-free алгоритм, если он вызывает библиотечные функции, которые не lock-free? Для того, чтобы алгоритм был lock-free, работа с памятью тоже должна быть lock-free.&lt;br/&gt;&lt;br/&gt;&lt;h5&gt;Одновременный доступ к памяти&lt;/h5&gt;&lt;br/&gt; Если текущее значение в некоторой ячейке памяти равно 100, и один из потоков в данный момент пишет в нее 200, а другой поток читает ее значение (допустим, что кроме этих двух потоков в системе других потоков нет). Какое значение прочитает второй поток? Кажется разумным, что он прочитает либо 100, либо 200. Однако, это не так. В С++ описанный сценарий приводит к неопределенному поведению, и второй поток теоретически может прочитать 42. До C++11 люди использовали volatile для переменных, к которым был возможен одновременный доступ, но на самом деле volatile для этой цели &lt;/a&gt;&lt;a href=&quot;#быть должен использовать никогда&quot;&gt;использован никогда быть не должен&lt;/a&gt;.&lt;br/&gt; В нашей реализации Push и Pop оба читают и пишут m_head, тем самым, каждое чтение m_head приводит к неопределенному поведению, и может вернуть значение, которое никогда в m_head записано не было.&lt;br/&gt;&lt;br/&gt;&lt;h5&gt;Порядок обращений к памяти&lt;/h5&gt;&lt;br/&gt; Хорошо известно, что как компилятор, так и процессор могут поменять порядок выполнения команд. Рассмотрим такой пример. Пусть x и y оба равны нулю, и затем два потока выполняют следующий код:&lt;br/&gt;&lt;br/&gt; Поток 1: print x; x = 1; print y;&lt;br/&gt; Поток 2: print y; y = 1; print x;&lt;br/&gt;&lt;br/&gt; Допустим, что оба потока вывели два нуля. Из этого следует, что первый поток вывел y до того, как второй поток присвоил ему единицу, что произошло перед тем, как второй поток вывел x, что произошло перед тем, как первый поток присвоил ему единицу, что произошло перед тем, как первый поток вывел y. То есть первый поток вывел y прежде, чем он вывел y, что не имеет смысла. Однако, такой сценарий возможен, потому что как компилятор, так и процессор могли поменять порядок чтения и записи x и y врутри потоков.&lt;br/&gt; В нашей реализации lock-free стека мы можем видеть значение в указателе на следующий элемент, которое было давно изменено, и, как следствие, можем обратиться к памяти, которая была освобождена.&lt;br/&gt;&lt;br/&gt;&lt;h4&gt;Так как же написать lock-free стек?&lt;/h4&gt;&lt;br/&gt; Большинство описанных проблем имеют более одного решения. Здесь приводятся решения, которые мы используем в нашей работе как для стека, так и для других структур данных.&lt;br/&gt;&lt;br/&gt;&lt;h5&gt;SegFault&lt;/h5&gt;&lt;br/&gt; Прежде, чем удалить участок памяти, надо убедиться, что никто эту память не читает. Первая мысль, которая приходит на ум, это использовать счетчик ссылок, но это решение не работает: между тем, как мы получили адрес, и тем, как мы увеличили счетчик ссылок, память могла быть освобождена. Мы используем решение, которое называется «Hazard Pointers». В случае для стека, каждый поток имеет спецальный видимый всем указатель (назовем его «локальный указатель»), где хранится адрес элемента, с которым данный поток работает в настоящий момент. Прежде, чем удалить любой элемент, удаляющий поток убеждается, что этот элемент не содержится ни в одном из локальных указателей. Если он содержится в локальных указателях, удалять элемент нельзя. Можно либо подождать и попробовать снова, либо занести элемент в очередь на удаление и доверить другим потокам удалить его позже.&lt;br/&gt; Каждый поток, который хочет сделать какую-либо операцию на вершине стека сначала сохраняет вершину стека в свой локальный указатель, затем убеждается, что сохраненный в локальный указатель элемент все еще является вершиной стека (он мог быть убран и память могла быть освобождена пока мы сохраняли его в локальный указатель). После этого поток может быть уверен, что память, занятая элементом, освобождена не будет.&lt;br/&gt; Большим недостатком может являться то, что для удаления элемента требуется просканировать массив, размер которого равен количеству потоков в системе. Один из вариантов оптимизации может быть следующий: вместо удаления элемента всегда класть его в очередь, и только когда очередь набирает достаточно большое количество элементов на удаление (сравнимое с количеством потоков), удалить их все сразу. В этом случае можно скопировать значения всех локальных указателей на тот момент в какую-то структуру данных с быстрым поиском (например, хеш-таблицу), и использовать эту структуру данных, чтобы проверять, можно ли удалить элемент.&lt;br/&gt; Для структур данных сложнее, чем стек (связные списки, skiplists) может потребоваться более одного локального указателя на поток.&lt;br/&gt;&lt;br/&gt;&lt;h5&gt;Потеря элемента&lt;/h5&gt;&lt;br/&gt; Чтобы ABA проблема никогда не происходила, достаточно гарантировать, что m_head никогда не примет одно и тоже значение дважды. Для этого можно хранить с указателем 64-ех битное число (назовем его версией), которое увеличивается на единицу с каждой операцией. Для того, чтобы менять указатель и версию одновременно, нам понадобится Double CAS, который доступен на всех современных процессорах.&lt;br/&gt;&lt;br/&gt;&lt;h5&gt;Не lock-free&lt;/h5&gt;&lt;br/&gt; Чтобы решить проблему с заведением памяти, можно просто не заводить память. В нашем коде мы сохраняем указатель на следующий элемент прямо в структуре элемента. Но это не всегда является приемлемым решением, потому что расходуется 8 байт на каждый элемент, даже если элемент не находится в стеке.&lt;br/&gt;&lt;br/&gt;&lt;h5&gt;Одновременный доступ к памяти&lt;/h5&gt;&lt;br/&gt; Мы используем boost::atomic для переменных, к которым возможен доступ из нескольких потоков. Хотя в компиляторе, который мы используем (g++ 4.6) уже есть реализация std::atomic, она значительно менее эффективна, чем boost::atomic, потому что использует memory_barrier после каждой операции, даже если memory_barrier после нее не нужен.&lt;br/&gt;&lt;br/&gt;&lt;h5&gt;Порядок обращений к памяти&lt;/h5&gt;&lt;br/&gt; В С++11 была введена новая модель памяти и правила обращения к памяти для atomic переменных. Для каждой операции чтения или записи можно указать, какие гарантии требуются. Для обращений к вершине lock-free стека мы вынуждены использовать CompareAndSwap с гарантией sequential consistency (это самая строгая гарантия, и, как следствие, самая медленная). Sequential consistency значит, что для всех операций чтения и записи, выполненных в некоторый промежуток времени всеми потоками, существует порядок такой, что каждый поток видел эти операции, как если бы они произошли в этом порядке.&lt;br/&gt; Если вы понимаете модель памяти С++11, и попытаетесь проанилизировать, какие гарантии следует использовать для работы с локальными указателями (hazard pointers), вы можете предположить, что aqcuire/release достаточны.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Что такое acquire/release&lt;/b&gt;&lt;p&gt;Гарантия acquire/release может быть описана следующим сценарием: если Поток 1 поменял переменную A с гарантией release, а затем переменную B с гарантией release, а Поток 2 прочитал B с гаранией acquire, и увидел значение, записанное Потоком 1, то гарантируется, что если затем Поток 2 прочитает A с гарантией acquire, то он увидит изменение, сделанное Потоком 1.&lt;br/&gt;&lt;/p&gt;&lt;br/&gt;&lt;br/&gt; Мы использовали acquire/release некоторое время, пока в один день сервер не упал на удачно поставленном assert. Детальный анализ ошибки показал, что при использовании acquire/release возможен следующий сценарий:&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Поток 1&lt;/b&gt; готовится выполнить Pop и читает вершину стека&lt;br/&gt;&lt;b&gt;Поток 1&lt;/b&gt; пишет вершину стека в свой локальный указатель (используя release гарантию)&lt;br/&gt;&lt;b&gt;Поток 1&lt;/b&gt; читает вершину стека снова, она не изменилась&lt;br/&gt;&lt;b&gt;Поток 2&lt;/b&gt; убирает вершину стека, и решает ее удалить (или добавляет в очередь на удаление, и другой поток решает ее удалить — назовем поток, удаляющий элемент, &lt;b&gt;Поток 3&lt;/b&gt;)&lt;br/&gt;&lt;b&gt;Поток 3&lt;/b&gt; читает массив локальных указателей с гарантией acquire. Здесь возникает пробоема — не гарантируется, что мы видим изменение, сделанное &lt;b&gt;Потоком 1&lt;/b&gt;.&lt;br/&gt;&lt;b&gt;Поток 3&lt;/b&gt; удаляет память.&lt;br/&gt;&lt;b&gt;Поток 1&lt;/b&gt; разыменовывает сохраненную вершину стека, которая была удалена, и падает с SegFault.&lt;br/&gt;&lt;br/&gt; Если же использовать Sequential Consistency как для доступа к локальным указателям, так и для работы с вершиной стека, такой сценарий не возможен. Поскольку порядок операций для всех потоков одинаков, то либо &lt;b&gt;Поток 2&lt;/b&gt; убрал элемент с вершины стека прежде, чем &lt;b&gt;Поток 1&lt;/b&gt; проверил его после записи в локальный указатель (тогда &lt;b&gt;Поток 1&lt;/b&gt; поймет, что вершина стека изменилась, и начнет сначала), либо &lt;b&gt;Поток 1&lt;/b&gt; успешно сравнил свой локальный указатель с вершиной стека прежде, чем &lt;b&gt;Поток 2&lt;/b&gt; убрал элемент с вершины стека, что значит, что &lt;b&gt;Поток 3&lt;/b&gt; увидит удаляемую вершину стека в локальном указателе.&lt;br/&gt;&lt;br/&gt;&lt;h4&gt;Производительность&lt;/h4&gt;&lt;br/&gt; Для этой статьи мы написали две реализации стека: одну lock-free, другую — с использованием std::mutex. Тестовая программа запускала несколько потоков, и вызывала Push и Pop с равной вероятностью в бесконечном цикле. Для замеров использовался Dell Precision T5500. Результаты показаны на графике ниже. Ось X — количество потоков, ось Y — количество операций в секунду.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://habrastorage.org/storage2/a65/c3f/0ea/a65c3f0eaace0c2785e27fb6e7d91740.png&quot;/&gt;&lt;br/&gt;&lt;br/&gt; Выглядит не очень впечатляюще.&lt;br/&gt; Одна из проблем заключается в том, что по своей природе стек имеет очень узкое место — его вершину. Все потоки сражаются за то, чтобы изменить ее первыми, и производительность будет настолько высока, насколько быстро есть теоретическая возможность менять вершину. Операции Push и Pop настолько просты, что даже при использовании одного потока упираются в лимит количества изменений вершины стека в единицу времени. Добавление новых потоков только замедляет общую производительность, потому что теперь надо синхронизировать изменения вершины стека между потоками.&lt;br/&gt; Другая проблема заключается в том, что когда несколько потоков одновременно пытаются поменять вершину стека, только один из них это успешно сделает, и все остальные потоки пойдут на новую итерацию. Это проблема. Как известно, у каждой проблемы есть быстрое, красивое но неправильное решение. Таким решением для этой проблемы будет добавить usleep(250) после неудачного CAS. Это простой, но не оптимальный способ заставить потоки меньше пересекаться при изменении вершины стека. Результат может показаться удивительным — добавление usleep(250) улучшает производительность в 10 раз! На практике мы используем немного более сложные подходы для уменьшения количества неудачных CAS, но как видно, даже такой простой подход, как usleep, дает отличные результаты. &lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://habrastorage.org/storage2/001/f52/c8e/001f52c8e49d56c01b0d9a24f1c1b101.png&quot;/&gt;&lt;br/&gt;&lt;br/&gt; Интересно также посмотреть на то, сколько ресурсов потребляют различные реализации:&lt;br/&gt; Вот так выглядит HTOP для запуска с lock-free стеком без usleep в 16 потоках:&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://habrastorage.org/storage2/495/2d8/575/4952d85757aa3b709cbceccf6a106231.png&quot;/&gt;&lt;br/&gt;&lt;br/&gt; Как видно, процессор занят на 100%. Это связано с тем, что все потоки в цикле пытаются изменить вершину стека, снова и снова выполняя новую итерацию, целиком потребляя доступное им процессорное время.&lt;br/&gt;&lt;br/&gt; Вот так выглядит HTOP для запуска с lock-free стеком с usleep в 16 потоках:&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://habrastorage.org/storage2/823/d2a/646/823d2a6460bb043a63eceab3402304b7.png&quot;/&gt;&lt;br/&gt;&lt;br/&gt; Процессор почти простаивает. Потоки, не сумевшие сразу поменять вершину, спят, не занимая процессор. Это удивительное наблюдение — добавление usleep не только увеличило полезную производительность в 10 раз, но и заметно понизило потребление процессорного времени.&lt;br/&gt;&lt;br/&gt; Вот так выглядит HTOP для запуска со стеком с блокировками в 16 потоках:&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://habrastorage.org/storage2/f2b/a7a/156/f2ba7a156a5c7b6711dc20cf5f14c254.png&quot;/&gt;&lt;br/&gt;&lt;br/&gt; Здесь хорошо видно, что процессор целиком занят системными вызовами. Иными словами, почти все процессорное время затрачено на работу с блокировками.&lt;br/&gt;&lt;br/&gt;&lt;h4&gt;Заключение&lt;/h4&gt;&lt;br/&gt; Lock-free гарантирует, что система всегда будет выполнять полезную работу, даже если часть потоков была приостановлена операционной системой. Но lock-free не гарантирует, что это будет достигнуто эффективно. Кроме того, lock-free алгоритмы часто содержат ошибки, которые не всегда легко заметить или воспроизвести. Простая реализация стека в начале этой статьи содержала пять различных ошибок, и по производительности уступала реализации с блокировками. Если вы хотите использовать lock-free алгоритмы, убедитесь, что они того стоят, как с точки зрения производительности, так и с точки зрения сложности реализации. Старайтесь не изобретать свои собственные lock-free алгоритмы, а находить готовые реализации или научные работы.&lt;br/&gt;&lt;br/&gt;&lt;h4&gt;Код&lt;/h4&gt;&lt;br/&gt;&lt;b&gt;Исходный код&lt;/b&gt;С блокировками:&lt;br/&gt;&lt;br/&gt; 1 #include &lt;mutex&amp;gt;
2 #include &lt;stack&amp;gt;
3
4 template&lt;class T&amp;gt;
5 class LockedStack{
6 public:
7 void Push(T* entry){
8 std::lock_guard&lt;std::mutex&amp;gt; lock(m_mutex);
9 m_stack.push(entry);
10 }
11
12 // For compatability with the LockFreeStack interface,
13 // add an unused int parameter.
14 //
15 T* Pop(int){
16 std::lock_guard&lt;std::mutex&amp;gt; lock(m_mutex);
17 if(m_stack.empty()){
18 return nullptr;
19 }
20 T* ret = m_stack.top();
21 m_stack.pop();
22 return ret;
23 }
24
25 private:
26 std::stack&lt;T*&amp;gt; m_stack;
27 std::mutex m_mutex;
28 };
&lt;br/&gt;&lt;br/&gt; Без блокировок (в коде отсутствует логика, отвечающая за очистку памяти)&lt;br/&gt;&lt;br/&gt; 1 class LockFreeStack{
2 public:
3 // Элементы стека должны наследоваться от Node
4 //
5 struct Node{
6 boost::atomic&lt;Node*&amp;gt; next;
7 };
8
9
10 // К сожалению, нет платформо-независимого способа написать этот класс.
11 // Приведенный код работает для gcc на архитектуре x86_64.
12 //
13 class TaggedPointer{
14 public:
15 TaggedPointer(): m_node(nullptr), m_counter(0) {}
16
17 Node* GetNode(){
18 return m_node.load(boost::memory_order_acquire);
19 }
20
21 uint64_t GetCounter(){
22 return m_counter.load(boost::memory_order_acquire);
23 }
24
25 bool CompareAndSwap(Node* oldNode, uint64_t oldCounter, Node* newNode, uint64_t newCounter){
26 bool cas_result;
27 __asm__ __volatile__
28 (
29 &quot;lock;&quot;
30 &quot;cmpxchg16b %0;&quot;
31 &quot;setz %3;&quot;
32
33 : &quot;+m&quot; (*this), &quot;+a&quot; (oldNode), &quot;+d&quot; (oldCounter), &quot;=q&quot; (cas_result)
34 : &quot;b&quot; (newNode), &quot;c&quot; (newCounter)
35 : &quot;cc&quot;, &quot;memory&quot;
36 );
37 return cas_result;
38 }
39 private:
40 boost::atomic&lt;Node*&amp;gt; m_node;
41 boost::atomic&lt;uint64_t&amp;gt; m_counter;
42 }
43 // Выравнивание по 16 байтам необходимо для правильной работы double cas
44 //
45 __attribute__((aligned(16)));
46
47
48 bool TryPushStack(Node* entry){
49 Node* oldHead;
50 uint64_t oldCounter;
51
52 oldHead = m_head.GetNode();
53 oldCounter = m_head.GetCounter();
54 entry-&amp;gt;next.store(oldHead, boost::memory_order_relaxed);
55 return m_head.CompareAndSwap(oldHead, oldCounter, entry, oldCounter + 1);
56 }
57
58 bool TryPopStack(Node*&amp;amp; oldHead, int threadId){
59 oldHead = m_head.GetNode();
60 uint64_t oldCounter = m_head.GetCounter();
61 if(oldHead == nullptr){
62 return true;
63 }
64 m_hazard[threadId*8].store(oldHead, boost::memory_order_seq_cst);
65 if(m_head.GetNode() != oldHead){
66 return false;
67 }
68 return m_head.CompareAndSwap(oldHead, oldCounter, oldHead-&amp;gt;next.load(boost::memory_order_acquire), oldCounter + 1);
69 }
70
71 void Push(Node* entry){
72 while(true){
73 if(TryPushStack(entry)){
74 return;
75 }
76 usleep(250);
77 }
78 }
79
80 Node* Pop(int threadId){
81 Node* res;
82 while(true){
83 if(TryPopStack(res, threadId)){
84 return res;
85 }
86 usleep(250);
87 }
88 }
89
90 private:
91 TaggedPointer m_head;
92 // Умножение на восемь позволяет каждому локальному указателю быть в
93 // своей собственной кеш-линии, что заметно ускоряет работу с ними.
94 //
95 boost::atomic&lt;Node*&amp;gt; m_hazard[MAX_THREADS*8];
96 };
&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; Код бенчмарка также доступен на &lt;b&gt;github&lt;/b&gt; (если вы хотите запустить тест локально):&lt;br/&gt;&lt;br/&gt;https://github.com/memsql/lockfree-bench&lt;br/&gt;&lt;br/&gt;&lt;h4&gt;Update:&lt;/h4&gt;&lt;br/&gt; По предложению lostmsu добавил в бенчмарк стек со spinlock вместо std::mutex. Для чистоты эксперемента использовал spinlock, который, как и lockfree реализация, спит 250 миллисекунд, если не удается захватить блокировку с первой попытки. &lt;i&gt;Не&lt;/i&gt; неожиданно, такая реализация оказалась производительнее и lock-free реализации, и реализации с std::mutex. Потребление процессора визуально такое же, как и у lock-free реализации с usleep(250).&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://habrastorage.org/storage2/be3/33a/2af/be333a2af72b5673d575d0ebd9ec1c65.png&quot;/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;#репозиторий&quot;&gt;Репозиторий&lt;/a&gt; на гитхабе тоже обновлен с новой реализацией.
&lt;/div&gt;</content:encoded>
			<link>https://lasuch.ucoz.com/news/chastye_oshibki_pri_razrabotke_lockfree_algoritmov_i_i/2014-05-15-367</link>
			<dc:creator>plecou</dc:creator>
			<guid>https://lasuch.ucoz.com/news/chastye_oshibki_pri_razrabotke_lockfree_algoritmov_i_i/2014-05-15-367</guid>
			<pubDate>Thu, 15 May 2014 05:47:47 GMT</pubDate>
		</item>
		<item>
			<title>Мать в ярости: 10 врачей не смогли выявить рак у ре�</title>
			<description>&lt;div&gt;&lt;img src=&quot;http://v.img.com.ua/b/600x500/3/03/fb35f9aeb92f7bafdc37140805926033.jpg&quot; alt=&quot;&quot;/&gt;&lt;p style=&quot;text-align:center&quot;&gt;Шансы на выздоровление 5-летнего Чарли всего 40% / dailymail.co.uk&lt;/p&gt; &lt;p&gt; Англичанка Шарон Вэлли приводила своего 5-летнего сына Чарли к 10-ти разным специалистам. Мальчик жаловался на боль в животе, у него наблюдалась непроходимость кишечника. &lt;/p&gt; &lt;p&gt; И всякий раз врачи ставили диагноз хронический запор, выписывая Чарли разные слабительные. А на самом деле ребенок стал жертвой нейробластомы - редкой и довольно агрессивной формы рака, имеющей один из самых высоких показателей смертности.&lt;/p&gt; &lt;p&gt; Лишь на 11-й раз врачи сумели-таки разглядеть опухоль в желудке ребенка. К тому времени она разрослась до размера баскетбольного мяча, так что мальчик со стороны выглядел, как беременный. Причем злокачественное образование оказалось настолько большим, что закрыло собой легкие и печень, которые не просматривались на УЗИ. К сожалению, диагноз нейробластома был поставлен Ч...</description>
			<content:encoded>&lt;div&gt;&lt;img src=&quot;http://v.img.com.ua/b/600x500/3/03/fb35f9aeb92f7bafdc37140805926033.jpg&quot; alt=&quot;&quot;/&gt;&lt;p style=&quot;text-align:center&quot;&gt;Шансы на выздоровление 5-летнего Чарли всего 40% / dailymail.co.uk&lt;/p&gt; &lt;p&gt; Англичанка Шарон Вэлли приводила своего 5-летнего сына Чарли к 10-ти разным специалистам. Мальчик жаловался на боль в животе, у него наблюдалась непроходимость кишечника. &lt;/p&gt; &lt;p&gt; И всякий раз врачи ставили диагноз хронический запор, выписывая Чарли разные слабительные. А на самом деле ребенок стал жертвой нейробластомы - редкой и довольно агрессивной формы рака, имеющей один из самых высоких показателей смертности.&lt;/p&gt; &lt;p&gt; Лишь на 11-й раз врачи сумели-таки разглядеть опухоль в желудке ребенка. К тому времени она разрослась до размера баскетбольного мяча, так что мальчик со стороны выглядел, как беременный. Причем злокачественное образование оказалось настолько большим, что закрыло собой легкие и печень, которые не просматривались на УЗИ. К сожалению, диагноз нейробластома был поставлен Чарли слишком поздно, и теперь его шансы на выздоровление составляют всего 40%.&lt;/p&gt; &lt;strong&gt;Читай также: &lt;a href=&quot;#как какой маскироваться мочь недуг под распознать&quot; name=&quot;#как какой маскироваться мочь недуг под распознать&quot; style=&quot;/health/wellness/articles/319114-kak-raspoznat--rak--pod-kakie-nedugi-on-mozhet-maskirovat-sja;&quot; type=&quot;#как какой маскироваться мочь недуг под распознать&quot;&gt;Как распознать рак: Под какие недуги он может маскироваться&lt;/a&gt;&lt;/strong&gt;&lt;br/&gt; &lt;p&gt; &quot;Если бы эту проклятую опухоль нашли раньше, то у нас было бы больше шансов, - сокрушается Шэрон. - Я теперь надеюсь только на моего сына. На то, что он окажется достаточно крепким и сильным, чтобы победить болезнь. Я в ярости из-за наших врачей, которые десять раз посылали его домой лечиться от запора. И только моя глубокая уверенность в том, что у сына что-то более серьезное побуждала нас вновь и вновь идти на прием к врачам. Когда они поставили окончательный диагноз, то я думала, что от злости разрушу всю больницу&quot;.&lt;/p&gt;&lt;/div&gt;</content:encoded>
			<link>https://lasuch.ucoz.com/news/mat_v_jarosti_10_vrachej_ne_smogli_vyjavit_rak_u_re/2014-04-29-366</link>
			<dc:creator>plecou</dc:creator>
			<guid>https://lasuch.ucoz.com/news/mat_v_jarosti_10_vrachej_ne_smogli_vyjavit_rak_u_re/2014-04-29-366</guid>
			<pubDate>Tue, 29 Apr 2014 07:36:32 GMT</pubDate>
		</item>
		<item>
			<title>Меган Фокс</title>
			<description>&lt;div&gt;&lt;h2 style=&quot;margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; background-image: initial; background-attachment: initial; background-color: white;&quot;&gt;&lt;b&gt;&lt;img src=&quot;http://bizhuteri.ru/images/user_images/sharipova/7/megan_fox_1.jpg&quot; width=&quot;300&quot; height=&quot;430&quot; alt=&quot;megan fox 1&quot; style=&quot;float: left; margin: 5px;&quot;/&gt;Звездный путь.&lt;/b&gt;&lt;/h2&gt;&lt;p style=&quot;margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; background-image: initial; background-attachment: initial; background-color: white;&quot;&gt;Будущая знаменитость родилась в Роквуде 16 мая 1986 года. В возрасте 5 лет маленькая Фокс начала заниматься в танцевальной и театральной студиях. В 10 лет семья переехала во Флориду, где родители всячески поддерживали творческие проявления Меган. К 13 годам маленькая звезда добилась больших успехов в танцах, получила несколько наград. Примерно в этот же период Фокс, в поисках счастья, перебралась в Лос-Андежелес. Впервые, зрители ее увидели в фильме “Солнечные...</description>
			<content:encoded>&lt;div&gt;&lt;h2 style=&quot;margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; background-image: initial; background-attachment: initial; background-color: white;&quot;&gt;&lt;b&gt;&lt;img src=&quot;http://bizhuteri.ru/images/user_images/sharipova/7/megan_fox_1.jpg&quot; width=&quot;300&quot; height=&quot;430&quot; alt=&quot;megan fox 1&quot; style=&quot;float: left; margin: 5px;&quot;/&gt;Звездный путь.&lt;/b&gt;&lt;/h2&gt;&lt;p style=&quot;margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; background-image: initial; background-attachment: initial; background-color: white;&quot;&gt;Будущая знаменитость родилась в Роквуде 16 мая 1986 года. В возрасте 5 лет маленькая Фокс начала заниматься в танцевальной и театральной студиях. В 10 лет семья переехала во Флориду, где родители всячески поддерживали творческие проявления Меган. К 13 годам маленькая звезда добилась больших успехов в танцах, получила несколько наград. Примерно в этот же период Фокс, в поисках счастья, перебралась в Лос-Андежелес. Впервые, зрители ее увидели в фильме “Солнечные каникулы” в 2001 году, правда, не в главной роли. В последующие 3 года, она появлялась в сериалах : “2,5 человека”, “Королева экрана” и “За что тебя люблю”. По-настоящему мировая известность пришла к Меган Фокс в 2007 году, когда на экраны вышел боевик Майкла Бэя “Трансформеры”. Через год актриса в номинации “Самая сексуальная женщина планеты” по версии FHM заняла первое место.&lt;/p&gt;&lt;h3 style=&quot;margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; background-image: initial; background-attachment: initial; background-color: white;&quot;&gt;&lt;b&gt;Личная жизнь Меган Фокс.&lt;/b&gt;&lt;/h3&gt;&lt;p style=&quot;margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; background-image: initial; background-attachment: initial; background-color: white;&quot;&gt;&lt;b&gt;&lt;img src=&quot;http://bizhuteri.ru/images/user_images/sharipova/7/megan_fox_2.jpg&quot; width=&quot;200&quot; height=&quot;289&quot; alt=&quot;megan fox 2&quot; style=&quot;float: right; margin: 5px;&quot;/&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; background-image: initial; background-attachment: initial; background-color: white;&quot;&gt;В 2007 актриса обручилась с Брайаном Остином Грином (актер), с которым она встречалась несколько лет. В честь этого на теле Меган появилась татуировка с его именем внизу живота, но счастье длилось недолго, и пара рассталась, однако сводить татуировку Фокс не стала, и правильно – 1 июня 2010 пара вновь воссоединилась и объявила о своей помолвке, поженились они в тайне ото всех, сбежав на Гавайи. &lt;/p&gt;&lt;p style=&quot;margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; background-image: initial; background-attachment: initial; background-color: white;&quot;&gt;&lt;img src=&quot;http://bizhuteri.ru/images/user_images/sharipova/7/megan_fox.jpg&quot; width=&quot;200&quot; height=&quot;280&quot; alt=&quot;megan fox&quot; style=&quot;float: left; margin: 5px;&quot;/&gt;В своих интервью Меган часто рассказывает о своем далеко не легком характере, по ее словам бывали даже приступы шизофрении, но, несмотря на свой буйный нрав, актриса уверяет, что секс у нее был лишь с 2 мужчинами. Всем не верящим Фокс желает “гореть в аду”, “мне никогда не были близки интрижки на одну ночь, при мысли о сексе с нелюбимыми мужчинами становится плохо” – заявляет роковая красотка. Правда это или нет, публике не узнать, тем более, сейчас актриса не только замужем, но и ждет своего первого ребенка. Не смотря на “положение” Меган продолжает сниматься, как в кино, так в журналах, а также она стала представителем американского бренда по производству электроники.&lt;/p&gt;&lt;/div&gt;</content:encoded>
			<link>https://lasuch.ucoz.com/news/megan_foks/2014-04-29-365</link>
			<dc:creator>plecou</dc:creator>
			<guid>https://lasuch.ucoz.com/news/megan_foks/2014-04-29-365</guid>
			<pubDate>Mon, 28 Apr 2014 22:22:42 GMT</pubDate>
		</item>
		<item>
			<title>Меган Фокс</title>
			<description>&lt;div&gt;&lt;ul&gt;&lt;li&gt;
Все слухи о беременности актрисы Меган Фокс подтвердились. Меган и ее муж Брайан Остин Грин ожидают пополнения в семействе. Источник также сообщил, что забеременела актриса случайно. Звездное семейство планировало обзавестись детьми позже. Меган и Брайан поженились в 2010 году. У Грина уже есть 10-летний сын Кассиус от актрисы Ванессы Марсил. Для Меган же это будет первый ребенок.
&lt;/li&gt; &lt;li&gt;
Американский актер Шайя Лабаф, известный по фильму «Трансформеры», признался, что на съемках картины у него были отношения с Меган Фокс. Да и кто бы смог устоять на его месте, снимаясь с самой красивой женщиной по признанию многих журналов. Правда, Лабаф Шайя ударение не на внешности Фокс, а на их чувственном понимании друг друга. «Да, да, у меня был роман с Меган. Это было похоже на чистейшую химию, и никак иначе. Но вы сами посудите: провести полгода вместе бок о бок, и в друг друга не влюбиться! Я никогда не понимал разделение на работу и жизнь в такой ситуации». Меган же от коммен...</description>
			<content:encoded>&lt;div&gt;&lt;ul&gt;&lt;li&gt;
Все слухи о беременности актрисы Меган Фокс подтвердились. Меган и ее муж Брайан Остин Грин ожидают пополнения в семействе. Источник также сообщил, что забеременела актриса случайно. Звездное семейство планировало обзавестись детьми позже. Меган и Брайан поженились в 2010 году. У Грина уже есть 10-летний сын Кассиус от актрисы Ванессы Марсил. Для Меган же это будет первый ребенок.
&lt;/li&gt; &lt;li&gt;
Американский актер Шайя Лабаф, известный по фильму «Трансформеры», признался, что на съемках картины у него были отношения с Меган Фокс. Да и кто бы смог устоять на его месте, снимаясь с самой красивой женщиной по признанию многих журналов. Правда, Лабаф Шайя ударение не на внешности Фокс, а на их чувственном понимании друг друга. «Да, да, у меня был роман с Меган. Это было похоже на чистейшую химию, и никак иначе. Но вы сами посудите: провести полгода вместе бок о бок, и в друг друга не влюбиться! Я никогда не понимал разделение на работу и жизнь в такой ситуации». Меган же от комментариев на эту тему отказывается. &lt;br/&gt;&lt;br/&gt;По материалам сайта yp.fedpress.ru
&lt;/li&gt; &lt;li&gt;
Британская компания PRLog, специализирующаяся на опросах различного толка, недавно провела очередное исследование на тему сексуальности и привлекательности знаменитостей. В опросе участвовали 1198 влюбленных пар, которых попросили рассказать о том, с кем бы они хотели провести ночь и с кем бы разрешили переспать своему партнеру и при этом, не считая это за измену.&lt;br/&gt;&lt;br/&gt;Среди мужчин с перевесом всего в два процента голосов победил Брэд Питт, обогнавший занявшего второе место Джонни Деппа. У женщин с отрывом в три процента победила Меган Фокс.
&lt;/li&gt; &lt;li&gt;
Меган Фокс трудно выбить из колеи. Несмотря на уход актрисы из третьей части «Трансформеров» и откровенного провала недавно вышедшей ленты «Джон Хекс», Меган полна творческих планов. &lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://images.km.ru/news/grinberg/08/fox.jpg&quot; alt=&quot;Меган Фокс хочет сыграть героиню комиксов&quot;/&gt;&lt;br/&gt;&lt;br/&gt;В одном из своих недавних интервью, Фокс сообщила, что была бы очень не прочь сняться в экранизации комиксов «Ген 13» и сыграть роль Сары Рейнмейкер. В комиксах, о которых идет речь, Сара Рейнмейкер одна из участниц команды супергероев, которую создали спецслужбы США для борьбы с мировым злом. Возможности Сары сходны со способностями Грозы из «Людей Икс», она может управлять погодой и летать. При этом Сара открыто признает свою нетрадиционную сексуальную ориентацию.&lt;br/&gt;&lt;br/&gt;«Она коренная американка, а часть этой крови течет и в моих жилах. Возможно, кому-то это покажется странным, но если Джейк Джилленхол смог сыграть Принца Персии, я точно смогу сыграть роль Сары», - приводит слова актрисы сайт kinonews.&lt;br/&gt;&lt;br/&gt;kino.km.ru
&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;Последние сообщения с форума&lt;/h2&gt;&lt;/div&gt;</content:encoded>
			<link>https://lasuch.ucoz.com/news/megan_foks/2014-04-28-364</link>
			<dc:creator>plecou</dc:creator>
			<guid>https://lasuch.ucoz.com/news/megan_foks/2014-04-28-364</guid>
			<pubDate>Sun, 27 Apr 2014 22:16:09 GMT</pubDate>
		</item>
		<item>
			<title>ПИТБУЛЬ- скажи соседям НЕТ;)приветствуем все булл</title>
			<description>&lt;p&gt;Предлагаются к продаже щенки Американского стаффордширского терьера в питомнике &quot;Crystal Way&quot;, рожденные 3.04.13 от красивой, стильной пары с великолепной психикой:&lt;br/&gt;о.PRIDE LEON MARVEL EVIDANCE-Юный Чемпион России, Юный Чемпион НКП АСТ, Чемпион России, Чемпион РКФ, кандидат в Чемпионы НКП АСТ, кандидат в Интерчемпионы&lt;br/&gt;ATAXIA - Clear,&lt;br/&gt;м.ANGEDA&quot;S PRIDE SANEYRA FIDELITY-Юный Чемпион России, Чемпион России, Чемпион РКФ, 3*ЛБ, 3*ЛЩ, PBIS-3, 4*ЛЮ, JBIS-1,2,9, 3*ЛС, 4*ЛПП, 2*BIG-1, BIG-2,3, 4*JCAC, 3*CAC, Евразия2012 оба дня отлично &lt;br/&gt;С отличной родословной, крови лучших питомников Америки, Сербии и России!!! Красивые, яркие окрасы, 7 девочек и 2 мальчика, щенки перспективны для выставок и разведения. Документы РКФ, помощь в выращивании,прививки по возрасту. Щенки находятся в г.Ижевск,возможна помощь с доставкой. &lt;br/&gt;По вопросам приобретения обращаться http://vk.com/id12878168 &lt;br/&gt;тел. 89199037303 Людмила, скайп staffochka5, e-mail: staffland@mail.ru&lt;/p&gt;</description>
			<content:encoded>&lt;p&gt;Предлагаются к продаже щенки Американского стаффордширского терьера в питомнике &quot;Crystal Way&quot;, рожденные 3.04.13 от красивой, стильной пары с великолепной психикой:&lt;br/&gt;о.PRIDE LEON MARVEL EVIDANCE-Юный Чемпион России, Юный Чемпион НКП АСТ, Чемпион России, Чемпион РКФ, кандидат в Чемпионы НКП АСТ, кандидат в Интерчемпионы&lt;br/&gt;ATAXIA - Clear,&lt;br/&gt;м.ANGEDA&quot;S PRIDE SANEYRA FIDELITY-Юный Чемпион России, Чемпион России, Чемпион РКФ, 3*ЛБ, 3*ЛЩ, PBIS-3, 4*ЛЮ, JBIS-1,2,9, 3*ЛС, 4*ЛПП, 2*BIG-1, BIG-2,3, 4*JCAC, 3*CAC, Евразия2012 оба дня отлично &lt;br/&gt;С отличной родословной, крови лучших питомников Америки, Сербии и России!!! Красивые, яркие окрасы, 7 девочек и 2 мальчика, щенки перспективны для выставок и разведения. Документы РКФ, помощь в выращивании,прививки по возрасту. Щенки находятся в г.Ижевск,возможна помощь с доставкой. &lt;br/&gt;По вопросам приобретения обращаться http://vk.com/id12878168 &lt;br/&gt;тел. 89199037303 Людмила, скайп staffochka5, e-mail: staffland@mail.ru&lt;/p&gt;</content:encoded>
			<link>https://lasuch.ucoz.com/news/pitbul_skazhi_sosedjam_net_privetstvuem_vse_bull/2014-04-27-363</link>
			<dc:creator>plecou</dc:creator>
			<guid>https://lasuch.ucoz.com/news/pitbul_skazhi_sosedjam_net_privetstvuem_vse_bull/2014-04-27-363</guid>
			<pubDate>Sun, 27 Apr 2014 11:55:01 GMT</pubDate>
		</item>
		<item>
			<title>FLS Lock Haven University</title>
			<description>&lt;div&gt;&lt;p&gt;&lt;strong&gt;FLS International&lt;/strong&gt; - одна из самых известных образовательный организаций, предлагающая изучение английск ого языка в США. Все языковые центры этой организации отличает замечательное расположение рядом с самыми любимыми туристами городами (Лос-Анжелес, Лас-Вегас, Бостон, Нью-Йорк). Основная задача FLS International - дать возможность молодежи из всех стран не только повысить уровень английского языка на интенсивных занятиях, но и получить как можно больше впечатлений в увлекательных поездках, которые обязательно запомнятся на долгие годы.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Lock Haven University &lt;/strong&gt;находится в небольшом уютном городке Lock Haven в штате Пенсильвания, на Восточном побережье США. Всего в нескольких часах езды отсюда - Нью-Йорк, Вашингтон и Филадельфия. Lock Haven - историческое место с утопающими в зелени улицами и безукоризненно построенными зданиями в Викторианском стиле. Городок окружен фермами, красотой нетронутой природы и историческими достопримечательностя...</description>
			<content:encoded>&lt;div&gt;&lt;p&gt;&lt;strong&gt;FLS International&lt;/strong&gt; - одна из самых известных образовательный организаций, предлагающая изучение английск ого языка в США. Все языковые центры этой организации отличает замечательное расположение рядом с самыми любимыми туристами городами (Лос-Анжелес, Лас-Вегас, Бостон, Нью-Йорк). Основная задача FLS International - дать возможность молодежи из всех стран не только повысить уровень английского языка на интенсивных занятиях, но и получить как можно больше впечатлений в увлекательных поездках, которые обязательно запомнятся на долгие годы.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Lock Haven University &lt;/strong&gt;находится в небольшом уютном городке Lock Haven в штате Пенсильвания, на Восточном побережье США. Всего в нескольких часах езды отсюда - Нью-Йорк, Вашингтон и Филадельфия. Lock Haven - историческое место с утопающими в зелени улицами и безукоризненно построенными зданиями в Викторианском стиле. Городок окружен фермами, красотой нетронутой природы и историческими достопримечательностями. Университет был основан в 1870 г. и славится своими программами в обучении преподавателей, а также это один из немногих колледжей в стране, предлагающих программы по спортивной медицине. Университет является частью государственной системы высшего образования штата Пенсильвания.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Оснащение:&lt;/strong&gt; просторные комнаты для занятий, библиотека, комнаты для самостоятельных занятий и отдыха, кафетерий, мультимедийный компьютерный центр с TV и доступом в интернет, спортивные площадки, бассейн.&lt;/p&gt;
&lt;p&gt;В первый день студенты сдают устный и письменный тест для того, чтобы попасть в группу, соответствующую их уровню.&lt;/p&gt; &lt;p&gt;Курс обучения:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Basketball Camp: Junior Camp&lt;/strong&gt; для детей 12-14 лет и &lt;strong&gt;Teen Camp&lt;/strong&gt; для подростков 15-17 лет . Курс включает 18 уроков английского в неделю + 12 часов занятий баскетболом под руководством профессиональных тренеров на кампусах колледжей университетов. Американские студенты также будут присоединяться к программе и участвовать в тренировках и играх. Обучение проходит в группе максимум 15 человек.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Проживание: &lt;/strong&gt;американская семья, двухместное проживание. Одноместная комната по запросу.&lt;br/&gt;Большинство семей расположены в пешей досягаемости от школы, либо семьи отвозят студентов до школы и обратно.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Питание&lt;/strong&gt;: полупансион в будни и завтраки на выходных.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Баскетбол, бадминтон, волейбол, футбол, теннис, плавание.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Школьные мероприятия:&lt;/strong&gt; международные студенческие вечера, дискотеки, барбекью, просмотр видеофильмов, шоу талантов, караоке, викторины, DJ Dance Party.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Варианты экскурсий:&lt;/strong&gt; Филадельфия, Парк развлечений Hershey, знаменитая шоколадная фабрика Hershey, Amish Country, State College.&lt;br/&gt;&lt;strong&gt;&lt;br/&gt;ДАТЫ ПРОВЕДЕНИЯ КУРСОВ &lt;/strong&gt;&lt;strong&gt;в 2013 году:&lt;/strong&gt; с 30.06 по 20.07; с 14.07 по 03.08&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Продолжительность курса:&lt;/strong&gt; 3 недели.&lt;/p&gt;
Название школы Программа, возраст Даты проведения курсов 3 нед
&lt;p align=&quot;center&quot;&gt;Lock Haven University&lt;/p&gt; &lt;p align=&quot;center&quot;&gt;Basketball Camp - 12 - 17 лет &lt;/p&gt; &lt;p align=&quot;center&quot;&gt;30.06-20.07; 14.07-03.08&lt;/p&gt; &lt;p align=&quot;center&quot;&gt;3.975&lt;/p&gt;
&lt;p&gt;В стоимость включено:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;занятия по программе курса &amp;#13;&lt;/li&gt;
&lt;li&gt;тестирование и распределение по группам &amp;#13;&lt;/li&gt;
&lt;li&gt;учебные материалы&amp;#13;&lt;/li&gt;
&lt;li&gt;сертификат по окончании курса &amp;#13;&lt;/li&gt;
&lt;li&gt;проживание в семье &amp;#13;&lt;/li&gt;
&lt;li&gt;питание полупансион &amp;#13;&lt;/li&gt;
&lt;li&gt;спортивные, культурные мероприятия &amp;#13;&lt;/li&gt;
&lt;li&gt;экскурсионная программа&amp;#13;&lt;/li&gt;
&lt;li&gt;встреча и проводы в аэропорту&amp;#13;&lt;/li&gt;
&lt;li&gt;Стандартный заезд: с воскресенья по субботу&amp;#13;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Дополнительно оплачивается:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;регистрационная плата школы - 150$ &amp;#13;&lt;/li&gt;
&lt;li&gt;услуги «Канцлер» по организации поездки - 12.000 рублей&amp;#13;&lt;/li&gt;
&lt;li&gt;консульский сбор посольства&amp;#13;&lt;/li&gt;
&lt;li&gt;медицинская страховка &amp;#13;&lt;/li&gt;
&lt;li&gt;доплата за детей, летящих с сопровождением авиакомпании –UM service – 130 $ в обе стороны&amp;#13;&lt;/li&gt;
&lt;li&gt;доставка документов экспресс-почтой - 120$ &amp;#13;&lt;/li&gt;
&lt;li&gt;банковские издержки&amp;#13;&lt;/li&gt;
&lt;li&gt;авиабилет &amp;#13;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</content:encoded>
			<link>https://lasuch.ucoz.com/news/fls_lock_haven_university/2014-04-25-362</link>
			<dc:creator>plecou</dc:creator>
			<guid>https://lasuch.ucoz.com/news/fls_lock_haven_university/2014-04-25-362</guid>
			<pubDate>Fri, 25 Apr 2014 17:06:33 GMT</pubDate>
		</item>
		<item>
			<title>2013 вновь стиле блокировка дневник</title>
			<description>&lt;div&gt;&lt;h2&gt;Краткие сведения&lt;/h2&gt; Место происхождения: Кита (материк) Фирменное наименование: hongrui Номер Модели: Hb-8022 Тип: Дневник Тип: Минио Материал крышки: Бумага Внутренние страницы: 80 листов Использование: Промотирование дневник: девушки дневник состав книги: книга студента student тетрадь: учебнике канцелярские принадлежности: ноутбук &lt;p&gt;блокировка дневник 1. подгонять размер&amp;amp; цвет 2. окружающей среды- чистый материал&amp;amp; чернил 3. конкурентоспособная цена 4. 100% qualtiy гарантия&lt;&lt;/p&gt; &lt;p align=&quot;left&quot;&gt;пункт имя&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;блокировка дневник&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;материал крышки&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;бумага с покрытием искусства, бумага древесины свободная, белая карточка, полипропилен/пвх пластиковые, кожа бумаги etc&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;вес бумаги&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;крышка:. бумага с покрытием искусства: 80-400gsm&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;бумага древесины свободная: 60-140gsm&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;белая карточка: 190-400gsm&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;полипропилен/пвх пластиковые: 0.1...</description>
			<content:encoded>&lt;div&gt;&lt;h2&gt;Краткие сведения&lt;/h2&gt; Место происхождения: Кита (материк) Фирменное наименование: hongrui Номер Модели: Hb-8022 Тип: Дневник Тип: Минио Материал крышки: Бумага Внутренние страницы: 80 листов Использование: Промотирование дневник: девушки дневник состав книги: книга студента student тетрадь: учебнике канцелярские принадлежности: ноутбук &lt;p&gt;блокировка дневник 1. подгонять размер&amp;amp; цвет 2. окружающей среды- чистый материал&amp;amp; чернил 3. конкурентоспособная цена 4. 100% qualtiy гарантия&lt;&lt;/p&gt; &lt;p align=&quot;left&quot;&gt;пункт имя&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;блокировка дневник&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;материал крышки&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;бумага с покрытием искусства, бумага древесины свободная, белая карточка, полипропилен/пвх пластиковые, кожа бумаги etc&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;вес бумаги&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;крышка:. бумага с покрытием искусства: 80-400gsm&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;бумага древесины свободная: 60-140gsm&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;белая карточка: 190-400gsm&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;полипропилен/пвх пластиковые: 0.10mm-1.0mm толщиной&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;внутренняя: 60-140g бумага древесины свободная&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;размер&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;одним из 4, своего 5, своего 6, группы в 5, b6 или на заказ, according требованию к клиента&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;поверхностное избавление&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;глянцевая/матовая ламинация, пятно uv, тиснения и серебра/золотой фольги, горячего тиснения и др&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;печати&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;4c+4c( полноцветная печать), многие, пантон, золотой/серебряной цветной печати&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;обязательного&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;клееного обязательного, casebound( швейная) обязательного, спиральный изгиб или провод- вывода и др.&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;наше преимущество&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;высокое качество, умеренная цена&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;упаковка&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;1pc/полиэтиленовый пакет, сокращение обертывание или на заказ&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;политика образца&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;бесплатно для текущие образца, обязанность образца для обычай- сделал художественное произведение&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;время образца:&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;3-5days&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;время выполнения:&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;20-25days&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;срок оплаты:&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;30% депозит, 70% перед пересылкой.&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;отгрузки&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;Fob нинбо/шанхай порт, утс/термином cif, по экспресс и др.&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;цвет/odm приветствованы.&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;We&apos;re a профессиональное изготовление бумаёной продукции в китае, расположенный в дунган города, вэньчжоу города, specializing в письменной форме ёурналов/блокнот, дневники, ноутбук, блокноты, бумажные мешки&amp;amp; картонные коробки. и др.&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;целевой проверены нашей фабрики и были впечатлены, что они видели и они источник from нас в течение многих лет до сих пор.&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;мы продолжаем качества продукции высокого путем использования восемь членов кк сотрудников с опытом пяти лет. они гарантируют, что все наши продукты соответствуют мэк и ansi stardards, чтобы наши&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;продукты are welcome, который exported во всем мире в том числе великобритании, с нами, евро, датинской америки, austrialia и южной африки и др.&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;мы считают инновации наряду с хорошим quality forever. мы всегда забастовку, чтобы сохранить стоимость вниз and satisfy наши client without ущерба для качества.&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;более того, мы also accept малый заказ количество для пробного заказа/заказ образца.&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;добро пожаловать to contact с нами сейчас. &lt;/p&gt;&lt;/div&gt;</content:encoded>
			<link>https://lasuch.ucoz.com/news/2013_vnov_stile_blokirovka_dnevnik/2014-04-25-361</link>
			<dc:creator>plecou</dc:creator>
			<guid>https://lasuch.ucoz.com/news/2013_vnov_stile_blokirovka_dnevnik/2014-04-25-361</guid>
			<pubDate>Fri, 25 Apr 2014 17:05:53 GMT</pubDate>
		</item>
	</channel>
</rss>