এই কোডটিতে "ননোটমিক" এর অর্থ কী?
@property(nonatomic, retain) UITextField *theUsersName;
পারমাণবিক এবং ননোটমিকের মধ্যে পার্থক্য কী?
ধন্যবাদ
এই কোডটিতে "ননোটমিক" এর অর্থ কী?
@property(nonatomic, retain) UITextField *theUsersName;
পারমাণবিক এবং ননোটমিকের মধ্যে পার্থক্য কী?
ধন্যবাদ
উত্তর:
কটাক্ষপাত অ্যাপল ডক্স ।
মূলত, যদি আপনি বলে থাকেন nonatomic
এবং আপনি অ্যাক্সেসরগুলি ব্যবহার করে উত্পন্ন করেন @synthesize
, তবে একাধিক থ্রেড যদি সম্পত্তিটি একবারে পরিবর্তন / পড়ার চেষ্টা করে তবে খারাপী হতে পারে। আপনি আংশিক-লিখিত মান বা অতিরিক্ত প্রকাশিত / ধরে রাখা অবজেক্টগুলি পেতে পারেন, যা সহজেই ক্র্যাশ হতে পারে। (যদিও এটি পারমাণবিক প্রবেশাধিকারীর তুলনায় অনেক বেশি দ্রুত)
আপনি যদি ডিফল্ট ব্যবহার করেন (যা এর জন্য atomic
কোনও কীওয়ার্ড ছিল না, তবে এখন রয়েছে ), তবে @synthesize
ডি পদ্ধতিগুলি একক সম্পত্তিকে একাধিক পাঠ / লেখার ক্রমিকায়িত করে তা নিশ্চিত করতে একটি অবজেক্ট-স্তরের লক ব্যবহার করে। অ্যাপল ডক্স যেমন উল্লেখ করেছে, এর অর্থ এই নয় যে পুরো বস্তুটি থ্রেড-নিরাপদ , তবে স্বতন্ত্র সম্পত্তি পড়া / লেখার বিষয়।
অবশ্যই, আপনি যদি নিজের ব্যবহারকারীর পরিবর্তে নিজের অ্যাক্সেসরগুলি বাস্তবায়ন করেন তবে @synthesize
আমি মনে করি যে এই ঘোষণাগুলি সম্পত্তিটি থ্রেডসেফ পদ্ধতিতে প্রয়োগ করা হয়েছে কিনা তা আপনার অভিপ্রায় প্রকাশ করা ব্যতীত কিছুই করে না।
atomic
পৃথক সম্পত্তিতে অ্যাক্সেস করার সময় কোনও সম্পত্তি তৈরি করা ক্রাশ হওয়া এড়ায় কিন্তু নিশ্চিত করে না যে পুরো বস্তুটি (যেমন প্রথম এবং শেষের মতো পৃথক সম্পত্তি অ্যাক্সেস করা) করতে চলেছে আসল চিন্তা.
প্রচুর নিবন্ধ এবং স্ট্যাকওভারফ্লো পোস্টগুলি পড়ার পরে এবং ভেরিয়েবল সম্পত্তি বৈশিষ্ট্যগুলি পরীক্ষা করতে ডেমো অ্যাপ্লিকেশনগুলি তৈরি করার পরে, আমি সমস্ত বৈশিষ্ট্যের তথ্য একসাথে রাখার সিদ্ধান্ত নিয়েছি
সুতরাং নীচে বিস্তারিত নিবন্ধ লিঙ্ক যেখানে আপনি উপরে উল্লিখিত সমস্ত বৈশিষ্ট্য খুঁজে পেতে পারেন, এটি অবশ্যই আপনাকে সহায়তা করবে। যারা এখানে সেরা উত্তর দেয় তাদের সকলকে অনেক ধন্যবাদ !!
উদাহরণ:
@property (retain) NSString *name;
@synthesize name;
উদাহরণ:
@property (nonatomic, retain) NSString *name;
@synthesize name;
থ্রেডসফেসনেস সম্পর্কে ইতিমধ্যে যা বলা হয়েছে তা ছাড়াও অ-পরমাণু বৈশিষ্ট্যগুলি পারমাণবিক প্রবেশাধিকারীর চেয়ে দ্রুত। এটি আপনার সাধারণত উদ্বিগ্ন হওয়ার মতো কিছু নয়, তবে এটি মনে রাখবেন। মূল ডেটা উত্পন্ন বৈশিষ্ট্যগুলি এই কারণে আংশিক।
সাধারণত পারমাণবিক মানে সম্পত্তি লিখতে / পড়ার একক ক্রিয়া হিসাবে ঘটে। Atomic_operation
আপনি নীচের নিবন্ধটি পড়ে এই স্টাফগুলির একটি হ্যান্ডেল পেতে সক্ষম করতে পারেন।
থ্রেডিং ননোটমিকের উদ্দেশ্য নিয়ে ব্যাখ্যা করা হয়েছে
ননোটমিক - থ্রেড নিরাপদ নয়
পারমাণবিক - থ্রেড নিরাপদ - এটি ডিফল্ট সম্পত্তি বৈশিষ্ট্য।
"পারমাণবিক" মানে যে সম্পত্তি এক্সেস থ্রেড-নিরাপদ। যখন "nonatomic" এটা সম্পূর্ণ বিপরীত। আপনি যখন উদ্দেশ্য সি একটি সম্পত্তি সম্পত্তি ডিফল্টরূপে পারমাণবিক যাতে সংশ্লেষিত accessors সম্পত্তিতে শক্তসমর্থ অ্যাক্সেস প্রদান ঘোষণা বহুবিবাহিত পরিবেশে - অর্থাত্ গেটর থেকে সেটারের মাধ্যমে ফিরে আসা মানটি সর্বদা পুরোপুরি পুনরুদ্ধার করা হয় বা নির্ধারিত হয় যে অন্য থ্রেডগুলি যুগপতভাবে সঞ্চালিত হচ্ছে তা নির্বিশেষে you তবে আপনি যদি নীচের মতো সম্পত্তি অ-প্রাকৃতিক হিসাবে ঘোষণা করেন
@property (nonatomic, retain) NSString *myString;
তারপরে এর অর্থ একটি অবজেক্ট প্রোপার্টিটির জন্য একটি সংশ্লেষিত অ্যাক্সেসর কেবলমাত্র সরাসরি মানটি দেয়। ননোটমিক বৈশিষ্ট্যের প্রভাব পরিবেশের উপর নির্ভর করে। ডিফল্টরূপে, সংশ্লেষিত অ্যাকসেসরগুলি পারমাণবিক। সুতরাং অ্যানোটমিকটি পারমাণবিকের তুলনায় যথেষ্ট দ্রুত।
একটি মাল্টি থ্রেড জন্য। একজন নিখোঁজ