1. 编写两个线程,其中一个线程可以用来计算2-10000000之间素数的个数。另一个线程用来计算10000000-20000000之间的素数,问:哪个线程先执行完?2-10000000之间的素数多还是10000000-20000000之间的素数多?2.编写程序实现线程的同步.假设一个银行的ATM机,它可以允许用户存款也可以取款.现在一个账户上有200元,用户A和用户B都拥有在这个账户上存款和取款的权利.用户A将存入100元,而用户B将取出50元,那么最后账户的存款应该是250元。

解决方案 »

  1.   

    1: 我没有实际测试,猜测一下,应该2-10000000之间的素数多,而且也是2-10000000线程先执行完(前提条件,两个现成执行算法一样,线程优先级一样)。2: 一般如果实际的应用程序,这种算法一般都是采用数据库的事务控制的,如果你要用线程同步实现的话,只需要定义一个全局的对象,两个线程操作的时候都要对这个全局对象进行加锁就可以了。