Wednesday, April 30, 2014

الحوسبة السحابية نماذج نشر نموذج السحابة العامة Public Cloud Model Deployment

 نموذج السحابة  العامة

Public Cloud Model 

Public Cloud السحابة العامة


نماذج  نشر نموذج السحابة  العامة Public Cloud Model Deployment  

Public Cloud السحابة العامة

السحابة العامة تسمح للنظام والخدمات بأن تكون متوفرة وسهلة للوصول للمستخدمين عبر الانترنت أي لعامة الناس وليس لفئة معينة كمستخدمين النظام الذين يعملون في شركة ما ومن أمثلة السحابة العامة Google,Microsoft,Amazon الى أخره
مميزات السحابة العامة أو الفوائد السحابة العامة benefits
مميزات أو فوائد السحابة

مميزات السحابة العامة أو الفوائد السحابة العامة benefits 

توجد العديد من فوائد السحابة العامة كما توضح الصورة السابقة سنذكرها .

  • Cost Effect تأثير التكلفة 

نظرا لان السحابة العامة تتشارك في مواردها العديد من الشركات فأن تكلفتها تكون منخفظة وهذه ميزة لتوفير الميزانية.

  • Reliability الوثوقية

نظرا لان السحابة العامة تتشارك فيها العديد من الموارد ما بين الشركات ففي حال فشل أحد تلك الموارد يمكن استخدام موار أخرى دون أن يؤثر على عمل المنظمة أو الشركات الاخرى.

  • Flexibility المرونة

أيضا يمكن تكامل السحابة العامة مع السحابة الخاصة بحيث انها يمكن العمل معا وجنبا الى جنب ومشاركة الموارد .

  • Location Independence استقلالية المكان.

نظرا لان السحابة العامة تقدم خدماتها عبر الانترنت فهي تتوجد في اي مكان اي غير مرتبطة بمكان ويعنى هذا استقلالية المكان

  •  Utility Style Cost تكلفة الخدمات حسب الطلب

وايضا من مميزات السحابة العامة انها تتحتوي على خدمات حسب الطلب وهي متوفرة وقتما يحتاجه الزبون Pay per Use

  • High Scalability  قابلية التطور او التدرج العالي

يمكن تطوير أو ترقية السحابة العامة جدا أو خدماتها بصورة عالي دون ان يؤثر على المعلومات المتوفرة سابقا.


عيوب السحابة العامة Disadvantage

  • Less Security أقل أمنية
هي أمنة  ولكن تعتبر أقل أمنا من السحابة الخاصة.

  • Less Customizable أقل في التخصيصية
تعتبر السحابة العامة أقل من ناحية تخصيصها لملائمة ظروف شركة معينة وذلك لانها تتشارك الموارد مع شركات أخرى






لمتابعتي
تويتر: @aalmahallawi
IT Help Desk,
SEO Arabic Expert ,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
Email :ahmed.almahallawi@gmail.com
DOB: 05/10/1984

No comments

Monday, April 28, 2014

How to Remove index php from CodeIgniter كيفة إزالة ملف

How to Remove index php from CodeIgniter

  كيفة إزالة ملف  index.php من رابط في CodeIgniter

Remove index.php from this
http://localhost/codeigniter/index.php/news/articles

to  look like this 
http://localhost/codeigniter/news/articles

Step By Step with Image.How to Remove index.php from CodeIgniter URL

For wamp,xampp windows users.

after install the codeigniter in wamp,xampp go to www folder to locate the folder just press wamp icon in windows bar and press www  directory 
How to Remove index php from CodeIgniter  كيفة إزالة ملف

after locate the www directory you will see your website application.in my pc my folder which contain codeigniter framework is name codeigniter so choose your folder.
www\codeigniter this my framework folder 
remember i am work in my folder not your ok just go to where is your folder.
as image show 
www directory folder wamp

there's arrows in image with number.
  • arrow with number 1 this indicate to my codeigniter physical path or codeigniter directory and we are open it from previous step as image show.
  • arrow with number 2  indicat to application system which contain config folder also their is file named .htaccess  so due to windows prevent you to create file with no name just extention so the easiest way to create this file just copy it from application folder to main codeigniter folder ,you do not need to use cmd to create.
  • arrow with  number 3  from application folder copy .htaccess file here.as expline in privous step.
after we copy .htaccess file  open by notepad delete all code .write or copy lines.

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /codeigniter/index.php/$1 [L] 

you see the word in red which it codeigniter this word is my application framework just replace it with yours
if yours for example news just replace the codeigniter and put news to be like this

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /news/index.php/$1 [L] 

this code in .htaccess file in main folder of your application save file and close it.
htaccess file


next step configuration the config.php file so the config.php file is located in application folder as the second image show and the second arrows show .which from this folder we are copy .htaccess file to main folder as explain.now open the config.php  by notepad and do this. make ever lines listed below look like the below line.empty 

a$config['base_url'] = '';
$config['index_page'] = '';
$config['uri_protocol'] = 'auto';


in some cases if auto not work after we do all steps replace it with REQUEST_URI but do not do it now until finish the final step.so save and close file.

final step edit httpd.conf to open this file from wamp icon click in apache choose httpd.conf
it will open  in notepad 

locate httpd.conf file
locate httpd.conf file

just looking for this  line and remove # hash character from it

#LoadModule rewrite_module modules/mod_rewrite.so

to be like 
LoadModule rewrite_module modules/mod_rewrite.so

save and close file.

LoadModule rewrite_module modules/mod_rewrite.so
LoadModule rewrite_module modules/mod_rewrite.so

now restart server from wamp server icon choose restart server

Enjoy with new url structure without index.php.
if like post follow us thanks






لمتابعتي
تويتر: @aalmahallawi
IT Help Desk,
SEO Arabic Expert ,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
Email :ahmed.almahallawi@gmail.com
DOB: 05/10/1984

1 comment

Sunday, April 27, 2014

أساسيات قواعد البيانات أوامر اختيار او استخدام قاعدة البيانات SQL SELECT Database USE Statement

أوامر اختيار او استخدام قاعدة البيانات 
SQL  SELECT Database USE Statement

 أوامر اختيار او استخدام قاعدة البيانات SQL  SELECT Database USE Statement
 أوامر اختيار او استخدام قاعدة البيانات SQL  SELECT Database USE Statement

أوامر اختيار او استخدام قاعدة البيانات SQL  SELECT Database USE Statement

عندمل يكون لديك عدة قواعد بيانات في الاسكيما schema التى لديك فعندها يجب تحديد قاعدة البيانات اولا قبل بدء اي عمليات اواجراءات على القاعدة.
ولذلك نستخدم الجملةuse لاختيار او تحديد قاعدة البيانات التي ترغب في اجراء العمليات عليها.

الصيغة العامة  لجملة اختيار او تحديد قاعدة البيانات

USE DatabaseName;
وتذكر دائما بان اسم قاعدة البيانات مميز في نظام ادارة  قواعد البيانات RDBMS.

ولاستعراض كافة قواعدة البيانات التي تملكها في الاسكيما في نظام ادارة قواعد البيانات العلائقي.نستخدم الامر التالي show.

SQL> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| newDB              |
| TUTORIALSPOINT     |
| mysql              |
| orig               |
| test               |
+--------------------+
6 rows in set (0.00 sec)
كما ترى لدينا قاعدة بيانات باسم  newDB  ولكي نحدده ونستخدمها من اجل اجراء العمليات عليها نستخدم الامر كالتالي.

SQL> USE newDB;
twitter @aalmahallawi



No comments

Saturday, April 26, 2014

أساسيات البرمجة برمجة المواقع بي اتش بي ارسال البريد الالكتروني الاميل PHP Sending Emails

 بي اتش بي ارسال البريد الالكتروني الاميل
 PHP Sending Emails

 بي اتش بي ارسال البريد الالكتروني الاميل  PHP Sending Emails
 بي اتش بي ارسال البريد الالكتروني الاميل  PHP Sending Emails

إعدادات ال  بي اتش بي لإرسال البريد الالكتروني الاميل PHP Sending Emails

لاستخدام البي اتش بي في ارسال البريد الالكتروني فيجب عمل الإعدادات التالية وذلك بتعديل ملف الإعدادات الخاص بال بي اتش بي PHP.ini .يجب تغير الإعدادات كما التالي في ويندوز.

[mail function]
; For Win32 only.
SMTP = smtp.secureserver.net

; For win32 only
sendmail_from = ahmed.almahallawi@outlook.com

للمستخدمين لينكس
[mail function]
; For Win32 only.
SMTP = 

; For win32 only
sendmail_from = 

; For Unix only
sendmail_path = /usr/sbin/sendmail -t -i


إرسال نص بالبريد الاكتروني الاميل في البي اتش بي

لارسال نص بالبريد الالكتروني نستخدم الدالة ()mail وهذه الدالة لها باراميترات أي وسطاء سنوضحها في الجدول التالي.

الصيغة العامة لدالة أرسال البريد الالكتروني الاميل .

mail( to, subject, message, headers, parameters );

جدول الباراميترات للدالة () mail

الباراميترالوصف
toالبريد المرسل اليه اي الذي سيتقبل بريدك
subjectاسم  رسالة البريد اي عنوان الرسالة
messageالرسالة نفسها ويجب ان يكون طول السطر ان لا يتجاوز 70 حروف
 (\n)وستخدم
لبدء سطر جديد وهكذا
headersخيار اختياري مثل ارسال نسخة كربونية او مخفية
parameters
اختياري في حال كانت هناك باراميترات اخرى

مثال على ارسال بريد الكتروني نصي او اميل بالبي اتش بي php


<html>
<head>
<title>Sending email using PHP</title>
</head>
<body>
<?php
   $to = "xyz@somedomain.com";
   $subject = "This is subject";
   $message = "This is simple text message.";
   $header = "From:abc@somedomain.com rn";
   $retval = mail ($to,$subject,$message,$header);
   if( $retval == true )  
   {
      echo "Message sent successfully...";
   }
   else
   {
      echo "Message could not be sent...";
   }
?>
</body>
</html>


مثال ارسال بريد الكتروني اميل يحتوي على هتمل كود html بالبي اتش بي php

<html>
<head>
<title>Sending HTML email using PHP</title>
</head>
<body>
<?php
   $to = "xyz@somedomain.com";
   $subject = "This is subject";
   $message = "<b>This is HTML message.</b>";
   $message .= "<h1>This is headline.</h1>";
   $header = "From:abc@somedomain.com rn";
   $header = "Cc:afgh@somedomain.com rn";
   $header .= "MIME-Version: 1.0rn";
   $header .= "Content-type: text/htmlrn";
   $retval = mail ($to,$subject,$message,$header);
   if( $retval == true )
   {
      echo "Message sent successfully...";
   }
   else
   {
      echo "Message could not be sent...";
   }
?>
</body>
</html>

ارسال ملف مرفق attachment بالبي اتش بي من خلال البريد الالكتروني الاميل

توجد عدة خطوات يجب عملها قبل ارسال ملف مرفق بالبريد الالكتروني وهي.
  • اعداد الخاصية content-type في ال header الراس الى multipart/mixed.
  • تخصيص الملف ايضا بالخاصية boundaries.
  • ال boundaries يبدا بي علامتي -- ثم يتبع برقم يتم توليده باستخدام الدالة ()md5.
  • الملف المرفق يجب ترميزه باستخدام ()base64_encode 
  • لارسال افضل نستخدم دالة تقسيم الملف الى اجزاء ()chunk_split.
في المثال التالي بفرض لدينا ملف نصي اسمه ومساره كالتالي temp\test.txt\ ونريد ارساله كمرفق فالتالي كود الارسال.


<html>
<head>
<title>Sending attachment using PHP</title>
</head>
<body>
<?php
  $to = "xyz@somedomain.com";
  $subject = "This is subject";
  $message = "This is test message.";
  # Open a file
  $file = fopen( "/tmp/test.txt", "r" );
  if( $file == false )
  {
     echo "Error in opening file";
     exit();
  }
  # Read the file into a variable
  $size = filesize("/tmp/test.txt");
  $content = fread( $file, $size);

  # encode the data for safe transit
  # and insert rn after every 76 chars.
  $encoded_content = chunk_split( base64_encode($content));
  
  # Get a random 32 bit number using time() as seed.
  $num = md5( time() );

  # Define the main headers.
  $header = "From:xyz@somedomain.comrn";
  $header .= "MIME-Version: 1.0rn";
  $header .= "Content-Type: multipart/mixed; ";
  $header .= "boundary=$numrn";
  $header .= "--$numrn";

  # Define the message section
  $header .= "Content-Type: text/plainrn";
  $header .= "Content-Transfer-Encoding:8bitrnn";
  $header .= "$messagern";
  $header .= "--$numrn";

  # Define the attachment section
  $header .= "Content-Type:  multipart/mixed; ";
  $header .= "name="test.txt"rn";
  $header .= "Content-Transfer-Encoding:base64rn";
  $header .= "Content-Disposition:attachment; ";
  $header .= "filename="test.txt"rnn";
  $header .= "$encoded_contentrn";
  $header .= "--$num--";

  # Send email now
  $retval = mail ( $to, $subject, "", $header );
  if( $retval == true )
   {
      echo "Message sent successfully...";
   }
   else
   {
      echo "Message could not be sent...";
   }
?>
</body>
</html>







twitter @aalmahallawi


No comments

Friday, April 25, 2014

أساسيات قواعد البيانات أوامر حذف أوإزالة قاعدة البيانات SQL DROP DELETE Database

 أوامر حذف أوإزالة قاعدة البيانات
 SQL  DROP DELETE Database

أوامر حذف أوإزالة قاعدة البيانات SQL  DROP DELETE Database
أوامر حذف أوإزالة قاعدة البيانات SQL  DROP DELETE Database

 الأوامر المستخدمة في حذف أوإزالة قاعدة البيانات SQL  DROP DELETE Database

جملة drop تستخدم في وازالة قاعدة البيانات من هيكل ال sql schema.

الصيغة العامة لجملة ازالة قاعدة البيانات.

ويجب أن تتذكر بأن اسم قاعدة البيانات مميز اي لا يتكرر
DROP DATABASE DatabaseName;

مثال لازالة قاعدة البيانات أو حذف قاعدة البيانات
في الدرس السابق قمنا بانشاء قاعدة بيانات ونريد حذفها أو إزالتها واسم القاعدة هي newDB

SQL> DROP DATABASE newDB;
ملاحظة يجب ان تتذكر ان حذف او ازالة قاعدة البيانات سيؤدي لفقدان المعلومات بالكامل.
ويجب ان يكون لديك صلاحيات اداريةلاستخدام هذا الامر.ويمكن عرض القواعد الموجود باستخدام امر show databases

SQL> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| AMROOD             |
| TUTORIALSPOINT     |
| mysql              |
| orig               |
| test               |
+--------------------+
6 rows in set (0.00 sec)



twitter @aalmahallawi



No comments

الحوسبة السحابية مكونات البنية التحتية للسحابة المحوسبة Cloud Infrastructure Components

مكونات البنية  التحتية للسحابة المحوسبة
 Cloud Infrastructure Components

 مكونات البنية  التحتية للسحابة المحوسبة Cloud Infrastructure Components:-



مكونات البنية  التحتية للسحابة المحوسبة Cloud Infrastructure Components
الحوسبة السحابية  مكونات البنية  التحتية للسحابة المحوسبة Cloud Infrastructure Components

  1.  برنامج مراقبة الألة الافتراضية Hypervisor. عبارة عن برنامج ثابت firmware يستخدم لادارة الالة الافتراضية ممايسنح بمشاركة مورد فيزيائي واحد مابين المئات او حتى الالاف الشركات راجع الافتراضية وهو يعمل على المستوى المنخفض low-level program.
  2. برمجيات الادارة Management Software. برنامج يستخدم لادارة وصيانة واعداد البنية التحتية للسحابة.
  3. برمجيات النشر Deployment Software.  هي برمجيات تساعد على النشر والتكامل البرمجيات في السحابة.
  4. الشبكات Networks.  هي المكونة  الرئيسي للسحابة فهي تربط جميع مكونات السحابة مع الانترنت ويمكن توصيل الشبكة كخدمة بحيث تسمح للشركة بتخصيص واعداد بروتوكولات الشبكة والتوجيه.
  5. السيرفرات Servers. تساعد الحوسبة على مشاركة الموارد وحصرها والمراقبة والامنية وتقديم خدمات اخره.
  6. التخزين Storage. تسخدم السحابة نظام الملفات الموزع للتخزين ففي حال فشل احد مخازن الحفظ فيمكن استخراج البيانات من مخزن أخر بدون اي تأخير اوتعطيل للخدمة مما يجعلها موثوقة.

قيود البنية التحتية Infrastructural Constraints

توجد قيود على البنية التحتية والصورة التالية تعرض القيود الاساسية التي يجب ان تطبقها البنية التحتية للسحابة.

قيود البنية التحتية Infrastructural Constraints

قيود البنية التحتية Infrastructural Constraints


الشفافية Transparency

منذ استخدام الافتراضية في مشاركة الموارد في البيئة السحابية المحوسبة. ليس من الممكن تلبية الطلب فقط بامتلاك سيرفر ومورد واحد فقط. لانه يمكن ان تحدث توسعات في الطلب على الخدمات فلذلك يجب ان  تكون هناك شفافية في تطبيق الموازنة والموارد في حال طلب زيادة الخدمة.

قابلية التطور أو التوسع Scalability

يجب ان تكون هناك مرونة في حال طلب الارتقاء او التطوير.فليس من الحلول تغير البنية او الشبكات عند طلب الارتقاء او التوسع لان ذلك سيكون مكلفا للوقت والمال والموارد.

الامنية Security

يجب هندسة مركز البيانات الضخمة  mega data بإحكام في السحابة وكذلك عقد التحكم ونقاط الوصول للبيانات في مركز البيانات الضخمة يجب ان يكون أمن.

المراقبة Monitoring

لتحقيق الشافية  والنطوير وتسليم الحلول التطبيقية يجب أن  تكون قادر على المراقبة الذكية.



التالي >>>


twitter @aalmahallawi
No comments

Thursday, April 24, 2014

برمجة متقدمة سي شارب المعالجة المتوازية المتعددة ثريد C# Multithreading

المعالجة المتوازية المتعددة C# - Multithreading

برمجة متقدمة سي شارب المعالجة المتوازية المتعددة C#  Multithreading
المعالجة المتوازية المتعددة ثريد C#  Multithreading

المعالجة المتوازية المتعددة C#  Multithreading

ماهو  thread   او التمرير او المسار المعاجة المجزئة ؟

يعرف بأنه مسار تنفيذ البرنامج. يحدد كل مسار فريد تدفق  من التحكم. إذا كان التطبيق الخاص بك معقدة ويستهلك وقتا في المعالجة فأن الحل هو استخدام المعاجة المتعددة بحيث إعطاء كل وظيفة متكاملة في برنامجك مسار أي ثريد فيتم معالجة البرنامج الى عدة مسارات ومعالجات متوازية وفي حال حدوث اي خلال  في معالجة وحدة وظيفية فانه لا يؤثر على عمل البرنامج ككل.
في الصورة التالية توضح لك  ماهو المعالجة المتعددة وففي المثال لدينا برنامج واحد فقط شغال من متصفح جوجل كروم ولس ان البرنامج مشغل أكثر من مرة حيث يظهر  تكرار الاسم فان التكرار هو عبارة عن ثريد thread فكل واحد ثمثل مسار معالجة فمثلا لو حدث خللل في واحدة فلن يؤثر على الباقي وهنا كل مسار عبارة عن صفحة لموقع او إضافة plugin هذا هو الثريد.
برمجة متقدمة سي شارب المعالجة المتوازية المتعددة ثريد C#  Multithreading
المعالجة المتوازية المتعددة ثريد C#  Multithreading

مميزات المعالجة المتوازية للمسارات او الثريد

  • تقلل من الاستهلاك للمعالج
  • تزيد من كفاءة التطبيق

دورة حياة المعالجة المتعددة المتوازية المسارات Thread Life Cycle

عند استخدام المعالجة المتعددة يتم انشاء كائن من الفئة thread وينتهي الكائن بانتهاء المعالجة.
التالي هو جميع الحالات في دورة المعالجة المتوازية

  • Unstarted State   في هذه الحالة ثم انشاء كائن المعالجة ولكن لم يتم استدعاء الدالة التي تبداء بالثريد او معالجة  المسار.
  •   Ready State  وفي هذه الحالة يتم تجهيز المعالجة للبرنامج ويتم ارساله الى دورة المعالجة للبدء.
  •  Not Runnable State  وفي هذه الحالة تكون الثريد غير قابلة للتشغيل في الحالات التالية
    • ثم استدعاء دالة sleep
    • ثم استدعاء دالة الانتظار wait
    • ثم اغلاق المعالجة بواسطة مشغل المدخل والخارج i/o
  • Dead State   حالة الانهاء يتم استدعاءها عند الانتهاء من تنفيذ البرنامج بالكامل او عند الغاء العملية.

المسار الرئيسي Main Thread

يتم استخدام المعالجة الرئيسية وهي او شي يتم تنفيذه في المعالجة المتوازية وهو اوما يتم عنده بدء المعالجة بالمسارات المتعددة وهو يتحكم في المعالجة للتطبيقك وتقوم السي شارب تلقاائيا بتكوينه.

مثال على المسار الرئيسي 


using System;
using System.Threading;

namespace MultithreadingApplication
{
    class MainThreadProgram
    {
        static void Main(string[] args)
        {
            Thread th = Thread.CurrentThread;
            th.Name = "MainThread";
            Console.WriteLine("This is {0}", th.Name);
            Console.ReadKey();
        }
    }
}

ناتج المثال.

This is MainThread

إنشاء معالجة متوازية Creating Threads

باستخدام الدالة start نبداء المعالجة المتوازية

using System;
using System.Threading;

namespace MultithreadingApplication
{
    class ThreadCreationProgram
    {
        public static void CallToChildThread()
        {
            Console.WriteLine("Child thread starts");
        }
        
        static void Main(string[] args)
        {
            ThreadStart childref = new ThreadStart(CallToChildThread);
            Console.WriteLine("In Main: Creating the Child thread");
            Thread childThread = new Thread(childref);
            childThread.Start();
            Console.ReadKey();
        }
    }
}

ناتج كود انشاء المعالجة  المتوازية اوالمسارات

In Main: Creating the Child thread
Child thread starts

Managing Threadsإدارة المعالجة المتوازية

 sleep() الدالة تستخدم في ايقاف المعالجة لفترة من الزمن.
using System;
using System.Threading;

namespace MultithreadingApplication
{
    class ThreadCreationProgram
    {
        public static void CallToChildThread()
        {
            Console.WriteLine("Child thread starts");
            // the thread is paused for 5000 milliseconds
            int sleepfor = 5000; 
            Console.WriteLine("Child Thread Paused for {0} seconds", 
                              sleepfor / 1000);
            Thread.Sleep(sleepfor);
            Console.WriteLine("Child thread resumes");
        }
        
        static void Main(string[] args)
        {
            ThreadStart childref = new ThreadStart(CallToChildThread);
            Console.WriteLine("In Main: Creating the Child thread");
            Thread childThread = new Thread(childref);
            childThread.Start();
            Console.ReadKey();
        }
    }
}
ناتج كود معالجة  المسارات اوالثريد
In Main: Creating the Child thread
Child thread starts
Child Thread Paused for 5 seconds
Child thread resumes

انهاء المعالجة المساراتDestroying Threads

Abort() تستخدم الدالة لانهاء المعالجة المتعددة
ThreadAbortException. من خلال القاء اسثتناء

using System;
using System.Threading;

namespace MultithreadingApplication
{
    class ThreadCreationProgram
    {
        public static void CallToChildThread()
        {
            try
            {

                Console.WriteLine("Child thread starts");
                // do some work, like counting to 10
                for (int counter = 0; counter <= 10; counter++)
                {
                    Thread.Sleep(500);
                    Console.WriteLine(counter);
                }
                Console.WriteLine("Child Thread Completed");

            }
            catch (ThreadAbortException e)
            {
                Console.WriteLine("Thread Abort Exception");
            }
            finally
            {
                Console.WriteLine("Couldn't catch the Thread Exception");
            }

        }
        
        static void Main(string[] args)
        {
            ThreadStart childref = new ThreadStart(CallToChildThread);
            Console.WriteLine("In Main: Creating the Child thread");
            Thread childThread = new Thread(childref);
            childThread.Start();
            //stop the main thread for some time
            Thread.Sleep(2000);
            //now abort the child
            Console.WriteLine("In Main: Aborting the Child thread");
            childThread.Abort();
            Console.ReadKey();
        }
    }
}
ناتج كود تدمير المعالجة المتوازية
In Main: Creating the Child thread
Child thread starts
0
1
2
In Main: Aborting the Child thread
Thread Abort Exception
Couldn't catch the Thread Exception 

  


لمتابعتي
تويتر: @aalmahallawi
IT Help Desk,
SEO Arabic Expert ,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
Email :ahmed.almahallawi@gmail.com
DOB: 05/10/1984
1 comment