با سلام...
كتابخانه thread در لينوكس چي هست؟ مثل اين كه براي كامپايل با g++ لازم هست كه اسم كتابخانه داده بشه. شما مي دونيد؟
با سلام...
كتابخانه thread در لينوكس چي هست؟ مثل اين كه براي كامپايل با g++ لازم هست كه اسم كتابخانه داده بشه. شما مي دونيد؟
مرسي ولي چه جوري اضافش كنم. syntaxش چيه؟
یه برنامۀ نمونه برات می ذارم:
برای کامپایلش دستور زیر رو در شل وارد کن:کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
[/b]کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
فایل اجرایی برنامه a.out است. برای اجرای آن دستور زیر را وارد کنید:
خروجی به صورت زیر خواهد بود:کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by hamidreza_buddy; 19-04-2007 at 16:20.
مبانی ریسمان ها (thread) در لینوکس(linux):
POSIX THREADS آموزش فارسی
*اعمالی که روی thread ها می توان انجام داد عبارتند از: ساختن thread ، از بین بردن thread، همزمانی (Syncronization)، زمانبندی (Scheduling) ، مدیریت داده ها (data management) و ارتباط بین پروسس ها (process interaction).
*یک thread ، thread بوجود آورندۀ خود را نمی شناسد.
* همۀ thread های ایجاد شده از یک پروسس، در یک فضای آدرس دهی قرار دارند.
* thread های درون یک پروسس موارد زیر را به صورت مشترک دارا هستند:
1- دستورات پروسس
2- داده ها
3- فایل هایی که در آن پروسس باز هستند (descriptors)
4- سیگنال ها و هندل های سیگنال
5- پوشۀ فعلی پروسس
6- user و group id
*هر thread موارد زیر را به صورت unique دارد.
1- ID
2- مجموعه ای از رجیسترها، اشاره گر استک
3- استکی برای متغییرهای محلی، و برای مقادیر بازگشتی
4- signal mask
5- اولویت (priority)
6- مقدار بازگشتی : errno
* تمامی توابع کتابخانۀ pthread در صورت عدم وجود مشکل مقدار "0" برمی گردانند.
چند نکته:
1- در برنامۀ بالا از یک تابع یکسان برای اجرای دو ریسمان استفاده کرده ایم. با این حال آرگومان ها متفاوتند. البته توجه کنید که برای هر ریسمانی می توان یک تابع دلخواه داشت.
2- ریسمان ها را می توان بوسیلۀ فراخوانی تابع pthread_exit پایان داد. همچنین می توان با فراخوانی return در تابع و همچنین با فراخوانی exit (که خود پروسس و تمام ریسمان های آن را ازبین می برد) آن را پایان داد.
تابع pthread_create
این تابع ریسمان را ایجاد کرده و سپس تابع تعیین شده را همراه با آرگومان اجرا می کند.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تابع pthread_join نیز اجرای ریسمان صدا زننده را تا زمان پایان یافتن ریسمان جدید متوقف می کند.
هدف از اجرای این تابع در این برنامه این است که ممکن است ریسمان ها به صورت کامل اجرا نشده باشند و اگر برنامه به exit برسد همۀ این ریسمان با اینکه ناقص اجرا شده اند ولی از بین می روند. استفاده از این توابع باعث متوقف شدن برنامه تا زمان پایان یافتن این دو ریسمان می شود.
Last edited by hamidreza_buddy; 24-04-2007 at 19:52.
ممنون دستت درد نكنه...
سلام من واسه آز سیستم عامل باید یه مقاله 15 صفحه ای از theard در لینوکس ارائه بدم ولی مقاله فارسی توی نت نیست و همه زبان اصلی.شما مقاله ای دارید که کمکم کنه.ممنون
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)