Problem with Threads

Hans Mulder hansmu at xs4all.nl
Wed Dec 19 19:31:02 CET 2012


On 19/12/12 18:11:37, Kwnstantinos Euaggelidis wrote:
> I have this code for Prime Numbers and i want to do it with Threads..
> Any idea.??

Why would you want to do that?

It's not going to be any faster, since your code is CPU-bound.
You may have several CPUs, but CPython is going to use only one of them.

If you want to make it faster, read
http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes

> # prime numbers are only divisible by unity and themselves
> # (1 is not considered a prime number by convention)
> import time
> def isprime(n):
>     if n == 2:
>         return 1
>     if n % 2 == 0:
>         return 0
>     max = n**0.5+1
>     i = 3
>     while i <= max:
>         if n % i == 0:
>             return 0
>         i+=2
>     return 1
> print "Please give the maximum number"
> endnum = input()
> start = time.time()
> for i in range(endnum):
>     if isprime(i) == 1:
>         print "Number %d is PRIME" % i
> print "Elapsed Time: %s" % (time.time() - start)

Hope this helps,

-- HansM



More information about the Python-list mailing list