• 我对java多进程多线程的浅显理解


    linux内核调度算法--CPU时间片如何分配:

      http://blog.csdn.net/russell_tao/article/details/7103012(转载)  ,通过该文章我们知道了进程是有优先级的

    windows的任务调度机制:

      http://www.cnblogs.com/wonderKK/archive/2012/06/10/2543978.html(转载),该文章讲Windows的任务调度主要以线程为单位进行  

    我们用java开发的软件一般都是部署在linux操作系统上,因此主要按linux的内核调度方式来理解。也就是说每个进程都有自己的优先级,而和其中的线程的优先级和数量无关

    进程:就是正在运行的程序的实例,是资源分配的基本单位。(通过任务管理器可以查看进程,一个程序可以启动多个进程,比如你可以用qq程序登陆多个qq账号,所以我理解为是程序的实例)

    多进程:就是多个程序实例同时运行(同时不够严谨,可能还与电脑核数有关)

    线程:运行在进程当中的运行单元,线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。

    多线程:进程中存在多个相互独立或相互有协作关系的运行单元就是多线程(比如音乐播放器,一边下载音乐,一边播放音乐)

    进程和线程的区别:

    1)地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
    2)通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
     
    上面的内容算是一个总体上的初步认识线程,下面再深入一些认识java中的多线程
    服务器中的线程模型  https://segmentfault.com/q/1010000002998038 
    java中一些用到多线程的场景  http://blog.csdn.net/u012661010/article/details/76696309
     
    (参考 百度百科,《java多线程编程深入理解》)
  • 相关阅读:
    demo_10_02 云数据库聚合_bucket_02 bucketAuto
    demo_10_02 云数据库聚合_bucket_01
    nginx 启动脚本
    grep 全局搜索打印命令
    ulimit shell启动进程所占用的资源命令
    nginx 一键安装
    安装 nginx
    学习笔记::杜教筛
    markdown测试
    bzoj4589
  • 原文地址:https://www.cnblogs.com/coffee9527/p/7941127.html
Copyright © 2020-2023  润新知