עבור לתוכן

מחפש הסבר\מדריך מפורט ויסודי על MultiThreading (רצוי ל- Java)

Featured Replies

פורסם

בזמן האחרון התחלתי ללמוד על MultiThreading ב- Java מספר שיש לי על זה, אבל אני מוצא את ההסברים בספר חסרים.

אני אפילו לא בטוח שהבנתי את ה- Concept של Mutlithreading עד הסוף.

לדוגמה, אני מנסה ליצור עכשיו תוכנת Chat ב- Java שמקשרת בין שני מחשבים ברשת.

עד עכשיו הצלחתי שמחשב אחד רק ישלח טקסט (ה- Client) ומחשב אחד רק יקבל טסקט (ה-Server).

על פי ההבנה שלי בשביל ששני המחשבים יוכלו גם לקבל טסקט וגם לשלוח יש להשתמש ב- MultiThreading.

הבעיה היא שאני לא מבין איך אני יוצר סנכרון בין ה- Threads ואיך הם בכלל אמורים להיות בנוים, בנוסף אני לא כל כך מבין איפה נכנסים פה ActionListeners שאמורים להיות זמינים כל הזמן. אני לא מצפה מאף אחד שיסביר לי את כל זה (למרות שזה יהיה מצוין), אבל אם מישהו מכיר מדריך טוב שיכול לעזור לי עם זה אני מאוד אשמח.

תודה! :)

פורסם

לא צריך לזרוק את המושג / את הטכנולוגיה לכל שטות (לפעמים זה אפילו יכול ממש לא להשתלם). אם אתה עושה תוכנת תקשורת שגם מקבלת וגם שולחת למשל, אתה יכול להשתמש ב New I/O שזה מאפשר לך לעשות תיקשורת לא חוסמת ובכך לעשות דברים אחרים כשאין מידע וכו'.

פורסם
  • מחבר

לא עזרת לי נקודתית במה שרציתי להבין ב- MultiThreading אבל מאוד עזרת לי במשהו אחר.

הבנתי עכשיו שאני לא חייב להשתמש ב- MultiThreading וגילית לי את ה- NIO שמתברר ככלי ממש שימושי.

קראתי עכשיו מדריך ממש מצוין על NIO מהאתר של IBM.

http://www.ibm.com/developerworks/java/edu/j-dw-java-nio-i.html

לימד אותי המון, למרות שעוד לא הספקתי להגיע ל- Asynchronous I/O שהכי חשוב לי, אבל אני אגיע לשם מחר כשאהיה יותר עירני.

תודה רבה! :xyxthumbs: ;D

(כמובן שאני עדיין מאוד אשמח עם מישהו יוכל להפנות אותי למידע איכותי בנושא MultiThreading - משהו בסגנון מה שקראתי ב- IBM יהיה מעולה)

פורסם

מצטרף לבקשה, אבל למדריך לא תלוי בשפה או מדריך ל C, או אם אין אז ל C++.

פורסם

http://java.sun.com/docs/books/tutorial/essential/concurrency/

http://www.emu.edu.tr/english/facilitiesservices/computercenter/bookslib/Web%20Programming%20with%20Java,%20by%20Michael%20Girdley,Kathryn%20A%20Jones/ch16.htm

http://www.devarticles.com/c/a/Java/Multithreading-in-Java/

בשפות כמו C/C++ אין הגדרה של הנושא בשפה עצמה ולכן צריך להשתמש בספריות חיצניות או פקודות שתלויות במערכת ההפעלה שאתה משתמש.

פורסם

http://www.cs.bgu.ac.il/~spl071/

תבדוק תחת class material ו-practical sessions (יש שם גם הרבה דוגמאות קוד).

פורסם

http://java.sun.com/docs/books/tutorial/essential/concurrency/

http://www.emu.edu.tr/english/facilitiesservices/computercenter/bookslib/Web%20Programming%20with%20Java,%20by%20Michael%20Girdley,Kathryn%20A%20Jones/ch16.htm

http://www.devarticles.com/c/a/Java/Multithreading-in-Java/

בשפות כמו C/C++ אין הגדרה של הנושא בשפה עצמה ולכן צריך להשתמש בספריות חיצניות או פקודות שתלויות במערכת ההפעלה שאתה משתמש.

אז אתה יכול לתת לי שם של ספרייה פופולרית לזה?

פורסם

http://www.cs.wustl.edu/~schmidt/ACE.html

משמשת לתקשורת, ומכילה כל מה שצריך כדי לעבוד עם ת'רדים מרובים.

פורסם

תודה, נכנס למועדפים.

פורסם

יש פה http://java.sun.com/docs/books/tutorial/networking/sockets/clientServer.html

מדריך לסוקטים בגאווה.. אולי זה יעזור לך, לי זה עזר שנה שעברה..

ואם תפשפש שם באתר שם עוד כל מיני מדריכים, גם לגבי ה-Listner תוכל למצוא הסברים בדפים שעוסקים ב- GUI

פורסם

אני אפילו לא בטוח שהבנתי את ה- Concept של Mutlithreading עד הסוף.

תחשוב שזה כמו 2 תהליכים שרצים במחשב רק שיש להם זיכרון ומשאבים משותפים (ושסתם ככה אתה לא יודע מי רץ מתי ולכן צריך להגן על המשאבים המשותפים לפעמים).

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים