线程

1:进程
    进程是操作系统的一个任务(应用程序运行在一个进程中)。
    进程是含有某些资源的内存区域。进程中会有一个线程或者
    是多个线程
     举例说明:OS(操作系统)会打开多个应用程序,如可以
          打开视频软件,音频软件,qq,wechat
2:线程
     线程是进程中的一个顺序执行流(顺序执行流是有程序启动入口,程序逻辑和程序结束出口)。
     线程是应用程序中的一个任务(此任务完成了一个功能) 
     举例说明:视频软件打开后,会有缓冲功能,播放功能 
3:进程和线程的区别
     进程是针对于OS级别来说的一个任务。线程是针对于app级别来说的
     一个任务。线程有自己独立的堆栈空间,线程属于进程中的一部分,
     多个线程可以共享进程的内存空间。线程之间的切换比较轻负荷。
     线程又叫轻负荷进程。
4:并发
   在计算机中,宏观上,多个线程,发现可以"同时运行",
   其实在微观上是断断续续的。cpu会将一段时间划分成无数微小
   的时间片段,然后把时间片段尽可能的平均随机的分配给某一个
   线程,(其他线程处于等待状态)进行微观的,肉眼感知
   不到的间歇性运行。这就是并发。实际上并不是我们所说的"同时进行"。
   并发可以提高效率。
5:线程的状态
6:线程的创建
  (1)继承Thread类完成线程的创建。
    Thread类是类型,里面的run()需要实现,写要执行
         的任务逻辑代码。

         线程启动时,调用start(),不能调用run()。

7:线程安全的常用类型API
  StringBuilder
  StingBuffer
  String
8:集合中的ArrayList和HashSet,Map
      都是线程不安全的
   main{
      T t =new T();
      //此时有两个线程都可以访问t
      //其中一个线程调用run(),另外一个线程
      //调用show方法,但是因为方法上了锁,
      //锁对象是t,所以,在运行run()时,运行show方法
      //的线程处于阻塞状态。
   }
   public class T{
      public synchronized void run(){
      }
      public synchronized void show(){
      }
   }
线程池:
  线程池就是java中提供了一个类型Executors
  此类型提供了多种创建线程池的方法来进行管理线程。   
  线程池就是含有多个线程的一个对象。当服务器上的多个线程结束
  或 者是线程之间的切换都会频繁的消耗系统内存。我们可以在创建
  一定数量的线程后,不结束这些线程,当任务执行完后,让这些线程
  继续执行其他的任务。就会大大的减少了内存消耗。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_42005432/article/details/79966014
个人分类: java基础
上一篇异常
下一篇xml
想对作者说点什么? 我来说一句

进程 线程 linux

2010年09月07日 405KB 下载

java线程java线程

2011年07月21日 1.78MB 下载

java 线程java 线程

2010年11月23日 19.58MB 下载

Java线程详解大全

2011年08月03日 234KB 下载

线程源代码线程源代码

2011年01月18日 25KB 下载

线程详解 VC++经典讲解

2010年09月05日 67KB 下载

终止线程的源代码资源

2010年07月02日 43KB 下载

线程的总结

2011年05月26日 39KB 下载

没有更多推荐了,返回首页

关闭
关闭