Never been to DZone Snippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

« Newer Snippets
Older Snippets »
Showing 1-4 of 4 total  RSS 

Interprocess synchronization (safe threading)

Three ways for safe threading:

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

namespace ConsoleApplication12
{
    class Program
    {
        static object thisLock = new object();
        static int z = 0;
        private static void ThrStart()
        {
            for (int i = 0; i < 10000; i++)
            {
                lock (thisLock)
                {
                    z++;
                    Console.WriteLine(z);
                }
            }
        }

        private static void ThrStart2()
        {
            for (int i = 0; i < 10000; i++)
            {
                Monitor.Enter(thisLock);
                z++;
                Console.WriteLine(z);
                Monitor.Exit(thisLock);
            }
        }

        static Mutex mutex = new Mutex();
        private static void ThrStart3()
        {
            for (int i = 0; i < 10000; i++)
            {
                mutex.WaitOne();
                z++;
                Console.WriteLine(z);
                mutex.ReleaseMutex();
            }
        }


        static void Main(string[] args)
        {
            Thread t1 = new Thread(new ThreadStart(ThrStart));
            Thread t2 = new Thread(new ThreadStart(ThrStart));
            t1.Start();
            t2.Start();
            t1.Join();
            t2.Join();

            t1 = new Thread(new ThreadStart(ThrStart2));
            t2 = new Thread(new ThreadStart(ThrStart2));
            t1.Start();
            t2.Start();
            t1.Join();
            t2.Join();

            t1 = new Thread(new ThreadStart(ThrStart3));
            t2 = new Thread(new ThreadStart(ThrStart3));
            t1.Start();
            t2.Start();
            t1.Join();
            t2.Join();
        }
    }
}

Safe update of windows control from other threads

        delegate void UpdateReportCallback(string text);
        private void UpdateReport(string message)
        {
            // InvokeRequired required compares the thread ID of the
            // calling thread to the thread ID of the creating thread.
            // If these threads are different, it returns true.
            if (this.textBoxReport.InvokeRequired)
            {
                UpdateReportCallback d = new UpdateReportCallback(UpdateReport);
                this.Invoke(d, new object[] { message });
            }
            else
            {
                textBoxReport.Text = message + System.Environment.NewLine + textBoxReport.Text;
            }
        }

Safely join file parts

Simple way to safely join file parts.

File.join("C:", "osql", "foo.rb")

makeSafe

Make data safe...among other things

function makeSafe($variable) {
	$variable = htmlentities($variable, ENT_QUOTES);
  	
	if (get_magic_quotes_gpc()) { 
		$variable = stripslashes($variable); 
	}
  	
	$variable = mysql_real_escape_string(trim($variable));
 	$variable = strip_tags($variable);
	$variable = str_replace("\r\n", "", $variable);
 	
	return $variable;
}
« Newer Snippets
Older Snippets »
Showing 1-4 of 4 total  RSS