Thursday, January 29, 2015

Never missing your friends birthdays

I always had this problem of missing my friends birthdays. I would remember it a day afterwards or sometimes ( worst scenario), they would call me up and remind me. I would be engrossed in my work and I would lose myself in time. And this is the only reason. I really cared a lot for my near and dear ones.

The following post is an attempt to solve the issue of not remembering birthdays on time.

Facebook had a list of all the birthdays of my friends. Brilliant!

Sometime back, I had downloaded all the birthdays from Facebook in Excel format.

Google search revealed 123greetings and AmericanGreetings.

And my work is in progress...

Tuesday, January 27, 2015

Studying C# - process vs thread


Process

Process is a virtual address space.

Threads

They execute code. They can be considered as a path of execution through a single process. This means they follow a path of execution through an exe and probably many dll's in the process space.

Threads usually have access to all the code within a process space. But in .Net managed code, the accessible of the threads are limited to the app domain.

In windows, when all the the threads have exited from a process space, windows calls the "tear down" method of the process to destroy the process.

Multi threading advantages

1. Can utilize multi-cores in multi-core machines
2. Can give a more responsive UI by increasing the priority for the UI thread.
3. Perform CPU bound operations while I/O operations are waiting to complete.


Disadvantages

In a single thread CPU, it will take more time.

Explanation

This is due to the extra time for scheduler to stop a thread and assign the remaining part of the work to the next thread.