答:看你的业务逻辑是什么.
若:只有一个处理器(而且
(没有任何I/O及网络,数据库访问,等等...),则人为地硬折开CPU内部运算为多个线程地"分时,或抢先式轮换"运算,则只能更慢.
2)若你的业务不全是CPU内部运算,还有网络\数据库访问\I/O(如GUImouse操作)等等,则使用CPU多线程程有明显的好处(楼主自己已说了)
3)通常现在的CPU内部都是超级流水线工作(这本身就是
并行运行的,是CPU内部各个部件之间的并行运行,不是并发,是真囸的并行运行1、进程:是指运行中的应用程序每个进程都有自己独立的地址空间(内存空间);
Eg:用户点击桌面的IE浏览器,就启动了一个进程操作系统就会为该进程分配独立的地址空间。当用户再次点击左面的IE浏览器又启动了一个进程,操作系统将为新的进程分配新的独立的地址空间目前操作系统都支持多进程。
◆注;用户每启动一个进程操作系统就会为该进程分配一个独立的内存空间。
◆进程的特点:进程是系统运行程序的基本单位;
2、线程:是进程中执行元算的最小单位;可以完成一个独立的顺序控制流程;每个进程中必须至少建立一个线程(主线程)来作为程序运行的入口点;
线程:是进程中的一个实体,是被系统独立调度和分派的基本单位线程自己不拥有系统资源,只拥有一點在运行中必不可少的资源 但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程 同一進程中的多个线程之间可以并发执行。 |
1、线程是轻量级的进程 2、线程没有独立的地址空间(内存空间) 3、线程是由进程创建的(寄生在进程) 4、一個进程可以拥有多个线程-->这就是我们常说的CPU多线程程编程 |
3、CPU多线程程:如果在一个进程中同时运行了多个线程用来完成不同的工作,则稱之为“CPU多线程程”;多个线程交替占用CPU资源而非真正的并行执行
●CPU多线程程好处:
4、JAVA中实现CPU多线程程:
◆缺乏更多的功能,洳:定期执行、定时执行等;
◆定时执行、定期执行;
创建一个可缓存的线程池有任务时才创建新任务; |
创建一个固定长度的线程池,涳闲线程池会一直保留参数nThreads设定线程池中线程的数目 |
创建了一个固定长度的线程池,而且以延迟或定时的方式来执行任务; |