Sharing my interesting finds of programming, mainly in .NET, and technology.
Just received my Nexus 7 16gb, ordered from Google Play on monday october 29th and I love it! The size is perfect and it feels really great in hand. I already installed most of my apps and as you can see I am currently testing the Blogger app :-)
Right now I really have nothing bad to say. We'll see if that changes with time.
Right now I'm thinking about getting a cover for it and maybe a bluetooth but I feel that this would go against the hole tablet purpose.
Anyways, with the new nexus prices I believe this is a great deal.
Imports System.Threading
Public Class Form1
Delegate Sub UpdateItemValueDelegate(ByVal index As Integer, ByVal value As Integer)
Public UpdateListItem As UpdateItemValueDelegate = AddressOf UdateItemValue
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Add some values to the listbox for the example
For i As Integer = 0 To 10
ListBox1.Items.Add(i.ToString())
Next
End Sub
Private Sub UdateItemValue(ByVal index As Integer, ByVal value As Integer)
'Set the new item's value
ListBox1.Items(index) = value
End Sub
Private Sub CalculateNewValue(ByVal itemIndex As Integer)
'Calculate a new value for the given item and call the delegate to set the new item's value
Dim value As Integer
value = ListBox1.Items(itemIndex) * 5
If ListBox1.InvokeRequired Then
Me.Invoke(UpdateListItem, {itemIndex, value})
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Run a thread for each item in the list
For i As Integer = 0 To ListBox1.Items.Count - 1
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf CalculateNewValue), i)
Next
End Sub
End Class
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Diagnostics;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Stopwatch watch = new Stopwatch();
int[] nums = Enumerable.Range(0, 2000000).ToArray();
long total = 0;
watch.Reset();
watch.Start();
for (int i = 0; i < nums.Count<int>(); i++ )
{
total += nums[i];
}
watch.Stop();
Console.WriteLine("The total is {0}", total);
Console.WriteLine("'For' loop completed in " + watch.ElapsedMilliseconds.ToString() + " milliseconds.");
Console.WriteLine();
total = 0;
watch.Reset();
watch.Start();
Parallel.For<long>(0, nums.Length, () => 0, (j, loop, subtotal) =>
{
subtotal += nums[j];
return subtotal;
},
(x) => Interlocked.Add(ref total, x)
);
watch.Stop();
Console.WriteLine("The total is {0}", total);
Console.WriteLine("'Parallel.For' loop completed in " + watch.ElapsedMilliseconds.ToString() + " milliseconds.");
Console.WriteLine("Press any key to exit");
Console.ReadKey();
}
}
}As you can see in the following screenshot, The Parallel.For loop is much faster than the standard for loop.