سی++ نکات مربوط به پرفورمنس در برنامهنویسی Concurrent در این پست، چند نکته و مفهوم کوتاه و ابتدایی که میتونن روی پرفورمنس نرمافزارمون تاثیر بذارن و باید بهشون توجه کنیم رو به شکل سطحی بررسی میکنیم
سی++ نکات مهم پیادهسازی یک ساختمان دادهٔ lock-free برای طراحی یک ساختمان دادهٔ lock-free حواسمون باید به چیا باشه؟ چه نکاتی رو رعایت کنیم خوبه؟
یادداشت یادداشت حاصل از بیخوابی ساعت ۴ صبح ساعت ۴ صبح روز ۲۴ سپتامبر. به طرز عجیبی نتونستم بخوابم، خوابم نمیومد. خوابم نبرد. با خود گفتم پس بگذار حداقل وبلاگم را باز کنم و یک متن چرت و پرت ولی با لحن کتابی بنویسم.
سی++ پیادهسازی یک پشتهٔ Lock-Free - قسمت دوم: اشارهگرهای خطری در این پست، سعی کردیم مدیریت حافظهٔ ساختماندادهای که نوشتیم رو با استفاده از Hazard Pointer ها انجام بدیم.
سی++ پیادهسازی یک پشتهٔ Lock-Free - قسمت اول در این پست(و احتمالا پست بعدی) راجع به پیادهسازی کردن یک Stack به شکل lock-free صحبت میکنیم.
سی++ مقدمهای بر ساختماندادههای Lock-Free در این پست راجع به چیستی و چراییِ ساختماندادههای Lock Free صحبت میکنم و باهمدیگه ویژگیهای این ساختماندادهها رو بررسی میکنیم.
یادداشت از این وضعیت و از خودم راضی نیستم سلام. امروز فکر کنم ۲۴ام دِی ماه است و این پست حاوی ناله خواهد بود.
سی++ مباحث پیچیدهتر در memory ordering حالا که مباحث ابتدایی ترتیبهای حافظه (memory ordering) رو باهم دیدیم، وقت اینه که یکم مسائل پیچیدهتری رو بررسی کنیم.
سی++ مسئله وابستگی داده در Acquire-Release مدل memory_order_consume و وابستگی دادهها در acquire-release
سی++ رابطهٔ ترایایی همگامسازی در Acquire-Release چطور از خاصیت تعدی در عملیاتهای اتمیک استفاده کنیم؟
سی++ ترتیبهای حافظه در عملیاتهای اتمیک سی++ توی این پست درباره اینکه چطور میتونیم ترتیبهای مدنظر خودمون رو برای عملیاتها اعمال کنیم صحبت میکنیم و تفاوت ترتیبهای مختلف حافظهای رو توی کدهای مختلف بررسی میکنیم.
سی++ روابط مدل حافظه در سی++ در این پست راجع به روابط موجود در مدل حافظهای سی++ (C++ Memory Model Relations) صحبت میکنیم. بهنظرم مبحث نسبتا گنگ و سختی بود، ولی بهرحال برای فهم ترتیب بین عملیاتها و Memory Modelهای مختلف، نیاز هست که این مبحث رو خوب بلد باشیم.
سی++ memory model در سی++ این فصل درباره مدل حافظه یا Memory Model در سی++ هست. البته این فصل که نه، منظورم این زیرفصل هست. کلیت فصل درباره مدل حافظه و عملیاتهای اتمیک است. از مدل حافظه شروع میکنیم
سی++ همروندی با پارادایم CSP توی پست قبل دربارهٔ برنامهنویسی تابعی به عنوان یک راه برای اجتناب از دادههای مشترک و mutable صحبت کردیم. توی این پست میخوام دربارهٔ یک پارادایم دیگه صحبت کنم: Communicating Sequential Processes یا CSP
یادداشت تاریخچه بوجود آمدن ویندوز و دلیل همهگیر شدن لینوکس چطور یک اشتباه کوچک منجر به از دست دادن بازار توسط ویندوز شد...
یادداشت راه حلی برای ازبین بردن جرم و جنایت در جامعه توی ذهنم همیشه به این فکر میکردم که چرا ما قانون درست و حسابی برای برخورد با خلافکار ها رو نداریم. یه زندان بدرد نخور داریم که به عنوان کلاس درس عمل میکنه و خلافکار ها میرن اونجا تجربه کسب میکنن برای خلاف های بعدیشون.
سی++ همزمانی در سی++(۵): جایگزین های mutex آیا همهجا باید از میوتکس استفاده کرد؟ اگر نه، کجا و چطور؟
سی++ همزمانی در سی++(۴): ژانگولر بازی با mutex و کارهای دیگر در این پست درباره اینکه چطور میتونیم یک سری ژانگولر بازی با mutex ها دربیاریم صحبت میکنیم. مثلا چطور میوتکس ها رو بین scope ها جابجا کنیم و ...
سی++ همزمانی در سی++(۳): Dead Lock ها توی این پست میخوایم در مورد مشکلی بحث کنیم که یجورایی برعکس Race condition هست.
سی++ همزمانی در سی++: اشتراک گذاری داده ها(۱) یکی از مزایای استفاده از تِرِد ها(threads) این هست که به ما اجازه این رو میده که یک داده واحد رو بین ترد های مختلف به اشتراک بگذاریم. در این فصل به مشکلات مربوط به اشتراک گذاری داده ها و راهحل های موجود میپردازیم.
سی++ همزمانی در سی++: مفاهیم اولیه بالاخره شروع کردم به خوندن کتاب C++ Concurrency in action نوشته Anthony Williams.