none
ריבוי אפליקציות שמשתמשות עם אותו DLL

    שאלה

  • שלום לכולם!

    שאלה כללית, אשמח אם משהו נתקל בה.

    יש לי אפליקציה (console application) שרצה על הserver והיא נקראת ברגע שמהו עושה upload לקובץ.

    האפליקציה הזו עולה לכמה שניות (לפעמים דקות) ומתה.

    והיא משתמשת בDLL, השאלה שלי, האם הDLL הזה צריך להיות בנוי בצורה מסויימת (multi threading או משהו) כדי שאוכל להפעיל כמה מופעים של האפליקציה על השרת?

    תודה!

    שרה.

    יום שני 20 מרץ 2017 08:30

כל התגובות

  • לא הבנתי את התהליך של ניטור הבעיה ומה הקשרלשאלה אבל לגבי השאלה הרי שקובץ DLL הוא ספריית קוד ולא קובץ שצריך לתוח תוך נעילה שלו. קובת DLL יכול לשרת אפליקציות מרובות שוראות אותו. 

    דוגמה, כל קבצי ה DLL של מערכת ההפעלה


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]    [Linkedin]

    יום שני 20 מרץ 2017 18:58
    מנחה דיון
  • אז ככה:

    אני מפעילה אפליקציה בשרת ורוצה, כדי ליעל, שתרוץ כמה וכמה פעמים במקביל.

    האפליקציה משתמשת בDLL שלא אני כתבתי, שהוא כמו שירות, שמייצר קבצים מסויימים בתקיה על השרת.

    כותב הDLL טוען, שאם אשתמש בDLL שלו בכמה מופעים של האפלקציה בשרת, ולא רק במופע אחד כמו שיש עד עכשיו, הוא יצטרך לשכתב את הDLL כך שהוא יתמוך בכמה threads (כי כל מופע של האפליקציה הוא כמו thread שרץ במקביל)

    אין שום קשר בין הפעילויות של אותו DLL, ז"א שלא יכול להיות מצב שהקובץ שנכתב מפעילות אחת יכתב בפעילות אחרת.

    אני רק רוצה לוודא שאין שום בעיה להשתמש בDLL כמה פעמים, בדיוק כמו שאין בעיה להשתמש באפליקציה כמה פעמים.

    נראה לי שזה ככה, אני רק רוצה להיות בטוחה...

    תודה!!!

    שרה.

    יום שלישי 21 מרץ 2017 07:52
  • אז ככה:

    אני מפעילה אפליקציה בשרת ורוצה, כדי ליעל, שתרוץ כמה וכמה פעמים במקביל.

    האפליקציה משתמשת בDLL שלא אני כתבתי, שהוא כמו שירות, שמייצר קבצים מסויימים בתקיה על השרת.

    כותב הDLL טוען, שאם אשתמש בDLL שלו בכמה מופעים של האפלקציה בשרת, ולא רק במופע אחד כמו שיש עד עכשיו, הוא יצטרך לשכתב את הDLL כך שהוא יתמוך בכמה threads (כי כל מופע של האפליקציה הוא כמו thread שרץ במקביל)

    אין שום קשר בין הפעילויות של אותו DLL, ז"א שלא יכול להיות מצב שהקובץ שנכתב מפעילות אחת יכתב בפעילות אחרת.

    אני רק רוצה לוודא שאין שום בעיה להשתמש בDLL כמה פעמים, בדיוק כמו שאין בעיה להשתמש באפליקציה כמה פעמים.

    נראה לי שזה ככה, אני רק רוצה להיות בטוחה...

    תודה!!!

    שרה.

    אהלן,

    >> כותב הDLL טוען, שאם אשתמש בDLL שלו בכמה מופעים של האפלקציה בשרת, ולא רק במופע אחד כמו שיש עד עכשיו, הוא יצטרך לשכתב את הDLL כך שהוא יתמוך בכמה threads (כי כל מופע של האפליקציה הוא כמו thread שרץ במקביל)

    מה שאת מתארת זה שימוש/תכנון לא נכון (בלשון המעטה לדעתי)  של ספריות DLL אבל כמובן שזה אפרי והגיוני לפתח כל דבר שרוצים.

    מכיוון שאין לנו את הקוד של ה DLL הספציפי אנחנו לא יכולים לתת מענה כאן, והפניייה לפתח שלה DLL היא הדבר הנכון.

    באופן כללי אין מגבלה לשימוש ב DLL על ידי אפליקציות רבות, כמובן שזה אמירה תיאורטית וישנם מצבים שמתתוכננים באופן לקוי או בצורה מגבילה במכוון (סתם גדוגמה, אולי המפתח עושה שימוש במחלקת Singleton שעל פי התכנון שלה והמטרה שלה נועדה לאפשר שימוש במופע בודד של המחלקה... אוטלי בצורה כזו או אחרת הקוד מגביל את העבודה המקבילית...).


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]    [Linkedin]

    יום שלישי 21 מרץ 2017 19:16
    מנחה דיון
  • כמובן שכל יישום או ספריית קוד צריכה להיות מפותחת כך שתתאים לשימוש ולמטרות. ישנם ספריות שמחייבות מיקום מסויים ביחס לאפליקציה שעושה בהם שימוש (ולכן הפעלה על ידי כמה אפליקציות מחייבת העתקה של ה DLL וישנם מגבלות אחרות שאפשר ליצור במכוון או בטעות... אנחנו יכולים לדון בכל מקרה ספציפי יותר לעומק)


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]    [Linkedin]


    יום שלישי 21 מרץ 2017 19:17
    מנחה דיון