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多线程编程深入理解》)

最新文章

  1. 异或链表(XOR linked list)
  2. Bootstrap源码分析之dropdown
  3. 【iOS】网络编程:上传图片到服务器
  4. Unity-WIKI 之 DebugLine
  5. Ubuntu 14.04 分区方案
  6. zend studio 12汉化和破解
  7. pm剩余要看的内容
  8. NDK编译路径问题
  9. 原生js实现tab选项卡里内嵌图片滚动特效代码
  10. CLR via C# - Char_String - Format
  11. linux学习(一个) 在unbuntu通过添加新的用户
  12. Python基础知识学习_Day8
  13. linux查看系统负载
  14. js原生:封装document.getElementByClassName()函数
  15. <转载>Mac下,使用sshpass让iterm2支持多ssh登录信息保存
  16. 【黑客免杀攻防】读书笔记6 - PE文件知识在免杀中的应用
  17. field-symbols: <ATTR> type ANY.
  18. Microsoft Project 常用快捷键
  19. zabbix实现企业微信监控报警
  20. Hadoop1.x目录结构及Eclipse导入Hadoop源码项目

热门文章

  1. MGB的生成代码解析
  2. 微服务、SOA、ESB比较
  3. NginX——配置负载均衡
  4. flask例子
  5. linux上构建ftp服务器
  6. Selenium(二)开发环境的搭建
  7. SSH自动断开处理
  8. linux命令集合(二)
  9. ESLint 报错 import/no-unresolved
  10. http响应Last-Modified和ETag