NSOperation বনাম গ্র্যান্ড সেন্ট্রাল প্রেরণ


465

আমি আইওএসের জন্য সমবর্তী প্রোগ্রামিং সম্পর্কে শিখছি। এখনও অবধি আমি NSOperation/NSOperationQueue এবং সম্পর্কে পড়েছি GCDঅতিরিক্ত ও বিপরীত ব্যবহার করার কারণগুলি কী কী ?NSOperationQueueGCD

উভয় মত শোনায় GCDএবং NSOperationQueueবিমূর্ত দূরে বর্ণিত সৃষ্টি NSThreadsব্যবহারকারীর কাছ থেকে। তবে দুটি পদ্ধতির মধ্যে সম্পর্কটি আমার কাছে পরিষ্কার নয় তাই প্রশংসা করার মত কোনও প্রতিক্রিয়া!


10
ভাল প্রশ্নের জন্য +1 - ফলাফলগুলি সম্পর্কে কৌতূহলী। এতক্ষণ, আমি কেবল পড়েছি যে জিসিডি সহজেই সিপিইউ কোরগুলিতে প্রেরণ করা যায়, এটি "নতুন গরম ছিটে" হিসাবে উপস্থাপন করে।
পর্যন্ত


উত্তর:


517

GCDএকটি নিম্ন-স্তরের সি-ভিত্তিক এপিআই যা কোনও টাস্ক-ভিত্তিক সম্মতিযুক্ত মডেলের খুব সাধারণ ব্যবহার সক্ষম করে। NSOperationএবং NSOperationQueueঅবজেক্টিভ-সি ক্লাস যা একই কাজ করে। NSOperationপ্রথম চালু করা হয়, কিন্তু হিসাবে 10.5 এবং আইওএস 2 , NSOperationQueueএবং বন্ধুদের অভ্যন্তরীণভাবে ব্যবহার প্রয়োগ করা হয় GCD

সাধারণভাবে, আপনার উচ্চ স্তরের বিমূর্ততা ব্যবহার করা উচিত যা আপনার প্রয়োজন অনুসারে। এর অর্থ হ'ল আপনার NSOperationQueueপরিবর্তে সাধারণত ব্যবহার করা উচিত GCD, যদি না আপনাকে এমন কিছু করার দরকার হয় যা NSOperationQueueসমর্থন করে না।

নোট করুন যে NSOperationQueueজিসিডির কোনও "ডাম্বড-ডাউন" সংস্করণ নয়; প্রকৃতপক্ষে, এমন অনেকগুলি জিনিস রয়েছে যা আপনি খুব সহজেই করতে পারেন NSOperationQueueযা খাঁটি সাথে অনেক কাজ করে GCD। (উদাহরণ:। ব্যান্ডউইডথ-সীমাবদ্ধ সারিগুলি যে শুধুমাত্র একটি সময়ে এন অপারেশন চালানো; অপারেশন মধ্যে নির্ভরতা প্রতিষ্ঠার উভয় খুব সঙ্গে সহজ NSOperation, সঙ্গে খুব কঠিন GCD।) অ্যাপলের GCD ওঠানামা সঙ্গে একটি খুব সুন্দর বস্তু বান্ধব এপিআই তৈরি করতে কঠিন কাজ সম্পন্ন করা NSOperation। আপনার না করার কারণ না থাকলে তাদের কাজের সুযোগ নিন।

ক্যাভিয়েট : অন্যদিকে, যদি আপনাকে সত্যিই কেবল একটি ব্লক পাঠাতে হয় এবং অতিরিক্ত যে কার্যকারিতা সরবরাহ করে তার কোনও প্রয়োজন না হয় NSOperationQueue, জিসিডি ব্যবহারে কোনও ভুল নেই। কেবলমাত্র নিশ্চিত হয়ে নিন যে এটি কাজের উপযুক্ত সরঞ্জাম।


1
NSOperation নির্দিষ্ট একটি বিমূর্ত শ্রেণি হতে।
রোশান

3
@ স্যান্ডি এটি আসলে বিপরীত, জিসিডি এনএসওপ্রেশন ব্যবহার করে (কমপক্ষে আইওএস এবং ওএস এক্স এর পরবর্তী সংস্করণগুলিতে)।
গ্যারেটমুন

1
@ বিজে হোমার আমরা হ্রাস হ্রাস করার জন্য সিরিয়াল প্রেরণের সারিতে কাজ যুক্ত করতে পারি। সুতরাং কীভাবে অপারেশন কাতারে কীভাবে সুবিধা রয়েছে তা ঠিক করুন
রাজ আগ্রাগল

3
@ রাজগ্রগ্রওয়াল হ্যাঁ, এটি কার্যকর হয় ... তবে তারপরে আপনি সিরিয়াল কাতারে আটকে আছেন। এনএসওপ্রেশন "এই তিনটি কাজ শেষ হওয়ার পরে এই অপারেশনটি সম্পাদন করতে পারে তবে একই সাথে অন্যান্য সমস্ত জিনিস চলার সাথেই করতে পারে" " এমনকি বিভিন্ন কাতারে অপারেশনের মধ্যেও অপারেশন নির্ভরতা বিদ্যমান থাকতে পারে। বেশিরভাগ লোকের এটির প্রয়োজন হবে না, তবে আপনি যদি করেন তবে এনএসপিপশন আরও ভাল পছন্দ হবে।
বিজে হোমার

369

সম্পর্কিত প্রশ্নের সাথে আমার উত্তরের সাথে সামঞ্জস্য রেখে আমি বিজে এর সাথে একমত নই এবং আপনাকে প্রথমে এনসিওপ্রেশন / এনএসওরেপেশন কিউয়ে জিসিডির দিকে নজর দেওয়ার পরামর্শ দিচ্ছি, যদি না পরেরটি আপনাকে এমন কিছু সরবরাহ করে যা জিসিডি না করে।

জিসিডির আগে, আমি একযোগে পরিচালনার জন্য আমার অ্যাপ্লিকেশনগুলির মধ্যে অনেকগুলি এনএসওপরেশন / এনএসওরেশনকুইজ ব্যবহার করেছি। তবে, যেহেতু আমি নিয়মিতভাবে জিসিডি ব্যবহার শুরু করেছি, আমি প্রায় পুরোপুরি এনএসওপরেশন এবং এনএসওপরেশন কুইজগুলিকে ব্লক এবং প্রেরণের সারি দিয়ে প্রতিস্থাপন করেছি। আমি অনুশীলনে উভয় প্রযুক্তি কীভাবে ব্যবহার করেছি এবং এগুলির উপর আমি যে প্রোফাইলটি করেছি তা থেকে এটি এসেছে।

প্রথমত, NSOperation এবং NSOperationQueues ব্যবহার করার সময় ওভারহেডের একটি অনিয়মিত পরিমাণ থাকে। এগুলি কোকো অবজেক্ট এবং এগুলিকে বরাদ্দ এবং বিলোপ করা দরকার। আমি যে আইওএস অ্যাপ্লিকেশনটিতে লিখেছিলাম যা 60 এফপিএসে 3-ডি দৃশ্যের রেন্ডার করে, আমি প্রতিটি রেন্ডার করা ফ্রেম এনপ্যাপুলেট করার জন্য এনএসওপিশন ব্যবহার করছিলাম। যখন আমি এটির প্রোফাইল দিই তখন এই এনএসঅপারেশনগুলির তৈরি এবং টিয়ারডাউনটি চলমান অ্যাপ্লিকেশনটিতে সিপিইউ চক্রের একটি উল্লেখযোগ্য অংশের জন্য অ্যাকাউন্টিং ছিল এবং জিনিসগুলি ধীর করে দিচ্ছিল। আমি এগুলিকে সাধারণ ব্লক এবং একটি জিসিডি সিরিয়াল সারি দিয়ে প্রতিস্থাপন করেছি এবং এটি ওভারহেড অদৃশ্য হয়ে গেছে, যা লক্ষণীয়ভাবে আরও ভাল রেন্ডারিংয়ের পারফরম্যান্সের দিকে নিয়ে গেছে। এটিই কেবল একমাত্র জায়গা নয় যেখানে আমি NSOperation ব্যবহার করে ওভারহেড লক্ষ্য করেছি এবং আমি এটি ম্যাক এবং আইওএস উভয় ক্ষেত্রেই দেখেছি।

দ্বিতীয়ত, ব্লক-ভিত্তিক প্রেরণ কোডের একটি কমনীয়তা রয়েছে যা এনএসপিটারেশনগুলি ব্যবহার করার সময় মেলানো শক্ত। কোনও ব্লকে কয়েকটি লাইন কোড গুটিয়ে রাখা এবং এটি সিরিয়াল বা সমবর্তী সারিতে সঞ্চালনের জন্য প্রেরণ করা এত অবিশ্বাস্যভাবে সুবিধাজনক, যেখানে এটি করার জন্য একটি কাস্টম এনএসওপ্রেশন বা এনএসআইভোকেশনওপেশন তৈরি করার জন্য আরও অনেক বেশি সহায়ক কোড প্রয়োজন। আমি জানি যে আপনি একটি এনএসব্লকওপ্রেশন ব্যবহার করতে পারেন তবে আপনি তখনও জিসিডিতে কিছু প্রেরণ করতে পারেন। আপনার আবেদনের সাথে সম্পর্কিত প্রসেসিংয়ের সাথে এই কোডগুলিকে ব্লকগুলিতে ইনলাইন করে রাখলে আমার মতে এই পদ্ধতিতে আবশ্যক পৃথক পদ্ধতি বা কাস্টম এনএসওপরেশন না থাকার চেয়ে ভাল কোড সংস্থার দিকে নিয়ে যায়।

NSOperation এবং NSOperationQueues এর এখনও খুব ভাল ব্যবহার রয়েছে। জিসিডির নির্ভরতার কোনও বাস্তব ধারণা নেই, যেখানে এনএসওপরেশনকুইজগুলি জটিল জটিল নির্ভরতা গ্রাফ স্থাপন করতে পারে। আমি মুষ্টিমেয় কিছু ক্ষেত্রে এর জন্য NSOperationQueues ব্যবহার করি।

সামগ্রিকভাবে, আমি সাধারণত টাস্কটি সম্পাদনকারী সর্বোচ্চ স্তরের বিমূর্ত ব্যবহার করার পক্ষে পক্ষপাতিত্ব করি, এটি এমন একটি ক্ষেত্রে যেখানে আমি জিসিডির নিম্ন স্তরের এপিআইয়ের পক্ষে তর্ক করি। আমি যে আইওএস এবং ম্যাক বিকাশকারীদের সাথে এটি সম্পর্কে কথা বলেছি তাদের মধ্যে, বৃহত সংখ্যাগরিষ্ঠ লোকেরা এসএসপি সমর্থন না করে ওএস সংস্করণগুলিকে টার্গেট না করে (এনওএস ৩.০ এবং স্নো চিতাবাঘের পূর্বে) জিএসসি ব্যবহার করতে পছন্দ করে।


20
আমি কেবল মৃদুভাবে একমত নই; আমি বেশ কিছুটা প্লেইন জিসিডি ব্যবহার করি। তবে আমি মনে করি আপনি এই উত্তরে এনএসব্লকওপেশনকে খুব বেশি ছাড় দিচ্ছেন। NSOperationQueue এর সমস্ত সুবিধা (নির্ভরতা, ডিবাগিবিলিটি ইত্যাদি) ব্লক ক্রিয়াকলাপগুলিতেও প্রযোজ্য।
বিজে

4
@ বিজেহোমর - আমি মনে করি এনএসব্লকঅ্যাপেরেশন এড়ানো আমার ক্ষেত্রে ব্যক্তিগত পছন্দের বিষয়, যদিও আমি সাধারণভাবে এনএসওপরেশন থেকে বিরত হয়েছি তাদের ব্যবহার থেকে ওভারহেড দেখে বেশ কয়েকবার অ্যাপ্লিকেশন টেনে নিলাম। আমি যদি ব্লক ব্যবহার করতে যাচ্ছি তবে আমার যখন নির্ভরতা সাপোর্টের প্রয়োজন হবে তখন বিরল ব্যতীত আমি জিসিডি-তে অল-ইন হয়ে যাই।
ব্র্যাড লারসন

1
+1, এই বিশ্লেষণের জন্য ধন্যবাদ। অ্যাপল মনে হয় উভয়কেই সমর্থন করে (যেমন ডাব্লুডাব্লুডিসি 2012 এর সমকালীন ইউআই-তে অধিবেশন), তাই এটি অনেক প্রশংসাযোগ্য।
অরিপ

1
@ ভলিউয়ারডার্কএঞ্জেল - এর মতো প্রেরণগুলি পরিচালনা করতে জিসিডি অত্যন্ত দ্রুত। আপনি বর্ণনা করার মতো পরিস্থিতিতে এটি আপনার বাধা হওয়া উচিত নয়, যদি না আপনি ধীরে ধীরে I / O অ্যাক্সেসগুলি বা বাছাইয়ের কোনও কিছুর কারণে কোনও সারিতে আপডেটের গাদাটি ব্যাক আপ করেন না। যদিও এখানে সম্ভবত এটি হয় না।
ব্র্যাড লারসন

1
@ আসমা 22 - গণনাগুলি সাধারণ অংশে করা যায় যা সাধারণ, তবে এক পর্যায়ে চূড়ান্ত গণনার জন্য পূর্ববর্তী কয়েকটি পর্যায়ের ফলাফলের প্রয়োজন হতে পারে। সেক্ষেত্রে আপনি পরবর্তী ক্রিয়াকলাপটি পূর্ববর্তী ক্রিয়াকলাপগুলির উপর নির্ভর করতে পারবেন এবং সময়সূচীটি এমনভাবে পরিচালনা করা হবে যেগুলি শেষের রানের আগে শেষ হয়।
ব্র্যাড লারসন

101

GCDএকটি নিম্ন-স্তরের সি-ভিত্তিক এপিআই।
NSOperationএবং NSOperationQueueঅবজেক্টিভ-সি ক্লাস হয়।
NSOperationQueueওভার উদ্দেশ্য সি মোড়কের হয় GCD। আপনি যদি এনএসওপ্রেশন ব্যবহার করছেন তবে আপনি স্পষ্টভাবে গ্র্যান্ড সেন্ট্রাল ডিসপ্যাচ ব্যবহার করছেন

NSOperation এর উপর GCD সুবিধা:
i। বাস্তবায়নের
জন্য GCDখুব হালকা ওজন
NSOperationQueueজটিল এবং ভারী ওজন হয়

জিসিডির চেয়ে এনএসপিওরেশন সুবিধা:

আমি। অপারেশন নিয়ন্ত্রণ করুন
আপনি বিরতি দিতে পারেন, বাতিল করতে পারেন, পুনরায় শুরু করতে পারেনNSOperation

আ। নির্ভরতাগুলি
আপনি দুটি NSOperations
অপারেশনের মধ্যে নির্ভরতা সেট করতে পারবেন যতক্ষণ না এর সমস্ত নির্ভরতা শেষ না হওয়া পর্যন্ত সত্য হয় না।

III।
অপারেশন বা অপারেশন সারির স্থিতি পরিচালনা করতে পারে রাজ্য অপারেশন । প্রস্তুত, নির্বাহ বা সমাপ্ত

ঈ। অপারেশন
সর্বাধিক সংখ্যা আপনি এক সাথে চলতে পারে সর্বাধিক সংখ্যক সারি ক্রিয়াকলাপ নির্দিষ্ট করতে পারেন

কখন যেতে হবে GCDবাNSOperation
কখন আপনি সারিতে আরও উপরে নিয়ন্ত্রণ চান (উপরে বর্ণিত সমস্ত) NSOperation এবং আপনি যে সাধারণ ক্ষেত্রে কম ওভারহেড চান সে ক্ষেত্রে (খুব সামান্য অতিরিক্ত কাজ সহ আপনি "কিছুটা কাজ" পটভূমিতে করতে চান) ব্যবহারের জন্যGCD

রেফ:
https://cocoacasts.com/choosing-between-nsoperation-and-grand-central-dispatch/ http://iosinfopot.blogspot.in/2015/08/nsthread-vs-gcd-vs-nsoperationqueue.html http : //nshipster.com/nsoperation/


যেমন বলা হয়েছে, সর্বাধিক অপারেশন NSOperationQueue এ সুনির্দিষ্ট করা যেতে পারে, তারপরে জিসিডিতে সর্বাধিক সংখ্যক অপারেশন (প্রেরণ সারি) কী হতে পারে? মনে করুন আমার একটি প্রকল্প রয়েছে, তারপরে আমি কতগুলি অপারেশন (প্রেরণ সারি) করতে পারি। বা এগুলি হ'ল কোনও সর্বোচ্চ সীমা যা আমরা করতে পারি।
রওশন সাহ

এখানে সিস্টেম অবস্থার উপর নির্ভর করে বিস্তারিত তথ্য হল: stackoverflow.com/questions/14995801/...
সংগ্রাম Shivankar

আমরা ডিসপ্যাচ ওয়ার্কআইটেম ব্যবহার করেও জিসিডিতে টাস্ক বাতিল করতে পারি এবং আমরা স্থগিত ও পুনরায় কাজও করতে পারি
অঙ্কিত গার্গ

@ অংকিতগার্গ কল পাঠানো ডিসপ্যাচ ওয়ার্ক আইটেমে বাতিলকরণ কাজগুলি চালানো থেকে বিরত রাখবে যদি তাদের এখনও চালানো হয় না, তবে ইতিমধ্যে কার্যকর হওয়া কিছুতেই থামবে না। এবং আপনি কীভাবে কোনও ডিসপ্যাচ ওয়ার্কআইটিমকে বিরতি / পুনঃসূচনা করবেন ??
অভিমুরলিধরন

34

জিসিডির চেয়ে এনএসওপরেশনকে প্রাধান্য দেওয়ার আরেকটি কারণ হ'ল এনএসওপ্রেশনের বাতিলকরণ প্রক্রিয়া। উদাহরণস্বরূপ, 500px এর মতো একটি অ্যাপ্লিকেশন যা কয়েক ডজন ফটো দেখায়, এনএসওপ্রেশন ব্যবহার করে আমরা যখন টেবিল ভিউ বা সংগ্রহের ভিউ স্ক্রোল করি তখন আমরা অদৃশ্য চিত্রের কক্ষগুলির অনুরোধগুলি বাতিল করতে পারি, এটি অ্যাপের কার্য সম্পাদন এবং মেমরির পদচিহ্নগুলিকে হ্রাস করতে পারে। জিসিডি সহজে এটিকে সমর্থন করতে পারে না।

NSOperation এর সাথেও কেভিও সম্ভব হতে পারে।

এখানে এশাতন থেকে একটি নিবন্ধ যা পড়া মূল্যবান।


4
এটি লক্ষণীয় যে আপনি যা বাতিল করছেন তা যদি চিত্রটি লোড করার নেটওয়ার্ক অপারেশন হয় তবে আপনার প্রয়োজন নেই এবং NSOperationযেমন এই কার্যকারিতা সরবরাহ করুন। সাধারণভাবে, একটি এর কার্যকারিতা কিছু সরবরাহ করে , যেমন একটিNSURLSessionTask.cancelNSURLSession.invalidateAndCancelNSURLSessionNSOperationQueueNSURLSessionTaskNSOperation
অ্যালগাল

@algal হিসাবে এখানে ব্যাখ্যা ( stackoverflow.com/questions/21918722/... ), মনে হচ্ছে যে NSURLSession একটি বিল্ডিং ব্লক হিসেবে NSOperationQueue ব্যবহার করে।
কালান নওড়াথনে

33

জিসিডি প্রকৃতপক্ষে এনএসপোরেশনকিউয়ের তুলনায় নিম্ন-স্তরের, এর বড় সুবিধা হ'ল এর বাস্তবায়নটি খুব হালকা ওজন এবং লক-ফ্রি অ্যালগরিদম এবং কার্য সম্পাদনকে কেন্দ্র করে।

NSOperationQueue এমন সুবিধাগুলি সরবরাহ করে যা জিসিডিতে পাওয়া যায় না, তবে এগুলি তুচ্ছ ব্যয়বহুল আসে, এনএসপোরেশনকিউ বাস্তবায়ন জটিল এবং ভারী ওজনযুক্ত, প্রচুর লকিংয়ের সাথে জড়িত, এবং কেবলমাত্র খুব স্বল্পতম ফ্যাশনে অভ্যন্তরীণভাবে জিসিডি ব্যবহার করে।

আপনার যদি NSOperationQueue দ্বারা সরবরাহিত সুবিধাগুলি প্রয়োজন হয় তবে এটি ব্যবহার করুন, তবে GCD যদি আপনার প্রয়োজনের জন্য যথেষ্ট হয় তবে আমি এটি সরাসরি উন্নত পারফরম্যান্সের জন্য ব্যবহার করার পরামর্শ দেব, উল্লেখযোগ্যভাবে সিপিইউ এবং বিদ্যুতের ব্যয় কম এবং আরও নমনীয়তা।


24

এনএসকিউইও অপারেশন এবং জিসিডি উভয়ই ইউআই অ্যাপ্লিকেশন মেইন ট্র্যাডকে মুক্ত করে পৃথক থ্রেডে পটভূমিতে ভারী গণনা কার্য সম্পাদন করার অনুমতি দেয়।

ঠিক আছে, পূর্ববর্তী পোস্টের ভিত্তিতে আমরা দেখতে পাই এনএসওপেরেশনগুলির অ্যাড ডিপেন্ডেন্সি রয়েছে যাতে আপনি ক্রমান্বয়ে একের পর এক আপনার ক্রিয়াকলাপ সারি করতে পারেন।

তবে আমি জিসিডি সিরিয়াল ক্যু সম্পর্কেও পড়েছি আপনি প্রেরণ_ক্যুই_ক্রিয়েট ব্যবহার করে আপনার ক্রিয়াকলাপগুলি কাতারে চালাতে তৈরি করতে পারেন। এটি ক্রমানুসারে একের পর এক অপারেশনগুলির একটি সেট চালানোর অনুমতি দেবে।

জিসিডির মাধ্যমে এনএসকিউইউরেশন সুবিধা:

  1. এটি নির্ভরতা যুক্ত করতে দেয় এবং আপনাকে নির্ভরতা অপসারণ করতে দেয় যাতে কোনও লেনদেনের জন্য আপনি নির্ভরশীলতা ব্যবহার করে ক্রম চালিয়ে যেতে পারেন এবং অন্যান্য লেনদেনের জন্য একই সাথে চালাতে পারেন যখন জিসিডি এইভাবে চলতে দেয় না।

  2. কোনও ক্রিয়াকলাপ থাকলে ক্রিয়াকলাপ বাতিল করা সহজ, এটি চলমান থাকলে এটি বন্ধ করা যায়।

  3. আপনি সমবর্তী ক্রিয়াকলাপের সর্বাধিক সংখ্যক নির্ধারণ করতে পারেন।

  4. তারা কাতারে থাকা অপারেশনটি স্থগিত করতে পারেন

  5. কয়টি অপেক্ষারত অপারেশন রয়েছে তা আপনি সন্ধান করতে পারেন।


6

জিসিডি ব্যবহার করা খুব সহজ - আপনি যদি পটভূমিতে কিছু করতে চান তবে আপনার যা করতে হবে তা হল কোডটি লিখে পটভূমির সারিটিতে প্রেরণ করা disp NSOperation দিয়ে একই জিনিস করা অনেক অতিরিক্ত কাজ।

এনএসওপ্রেশনের সুবিধাটি হ'ল (ক) আপনার কাছে এমন একটি আসল অবজেক্ট রয়েছে যা আপনি বার্তাগুলি প্রেরণ করতে পারবেন এবং (খ) আপনি এনএসওপ্রেশন বাতিল করতে পারবেন। তুচ্ছ নয়। আপনাকে এনএসএফেরেশন সাবক্লাস করতে হবে, আপনাকে আপনার কোডটি সঠিকভাবে লিখতে হবে যাতে বাতিলকরণ এবং সঠিকভাবে কোনও কাজ শেষ করা উভয়ই সঠিকভাবে কাজ করে। সুতরাং সাধারণ জিনিসগুলির জন্য আপনি জিসিডি ব্যবহার করেন এবং আরও জটিল জিনিসের জন্য আপনি এনএসওপ্রেশনের একটি সাবক্লাস তৈরি করেন। (এনএসআইভোকেশনওপেশন এবং এনএসব্লকওপ্রেশন সাবক্লাসগুলি রয়েছে তবে তারা যা কিছু করে তা জিসিডি দিয়ে করা সহজ, সুতরাং সেগুলি ব্যবহারের কোনও ভাল কারণ নেই)।


3

ঠিক আছে, এনএসপিটারেশনগুলি গ্র্যান্ড সেন্ট্রাল ডিসপ্যাচের শীর্ষে নির্মিত একটি এপিআই। সুতরাং আপনি যখন এনএসপিপারেশন ব্যবহার করছেন, আপনি এখনও সত্যিই গ্র্যান্ড সেন্ট্রাল ডিসপ্যাচ ব্যবহার করছেন। এটি ঠিক যে এনএসওপেশনগুলি আপনাকে পছন্দ করতে পারে এমন কিছু অভিনব বৈশিষ্ট্য দেয়। আপনি অন্যান্য ক্রিয়াকলাপগুলিকে অন্যান্য ক্রিয়াকলাপের উপর নির্ভর করে, আইটেমগুলি স্যাম্বিট করার পরে সারিগুলি পুনরায় অর্ডার করতে পারেন এবং এই জাতীয় জিনিসগুলি। আসলে, ইমেজগ্র্যাবার ইতিমধ্যে এনএসওপ্রেশন এবং অপারেশন সারি ব্যবহার করছে! ASIHTTPRequest এগুলি হুডের নীচে ব্যবহার করে এবং আপনি যদি চান তবে আপনি বিভিন্ন ক্রিয়াকলাপের জন্য ব্যবহার করে এমন অপারেশন সারিটি কনফিগার করতে পারেন। সুতরাং আপনি কোনটি ব্যবহার করা উচিত? আপনার অ্যাপ্লিকেশনটির জন্য যার অর্থ উপলব্ধি করে। এই অ্যাপ্লিকেশনটির জন্য এটি বেশ সহজ তাই আমরা সরাসরি গ্র্যান্ড সেন্ট্রাল প্রেরণটি সরাসরি ব্যবহার করেছি, এনএসপিটারেশনের অভিনব বৈশিষ্ট্যের প্রয়োজন নেই। তবে আপনার অ্যাপ্লিকেশনটির জন্য যদি এগুলির প্রয়োজন হয় তবে এটিকে নির্দ্বিধায় ব্যবহার করুন!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.