线程入门再谈

0.写在前面的

什么是JVM
JVM位于Java中jdk的最底层,用来和计算机的操作系统进行交互。提供Java完整的运行环境

什么是高速缓存
存在于主存和cpu之间的一级存储器

1.对于程序的理解

程序不仅仅是一段计算机指令,包括了图片,音频等文件。其中程序是存储在计算机的磁盘中,相较于内存,访问起来比进程慢。

2.对于进程的理解

在运行的任务,它会暂时存储在计算机的内存中。运一个程序的时候进程会想操作系统交互,得到资源给进程消耗。

3.对于线程的理解

进程中独立的单位。每一个有main函数的就具有一个主线程,线程从创建开始到运行完所有代码结束,包括休眠,暂停,等待,恢复等过程。

线程的作用

被用来单独去做一件事情

那么是否线程创建越多越好??
由于线程的运行也要使用到计算机中的CPU和内存等资源,不可能构建出无限个线程
所以线程的任务执行完毕后,就记得释放线程。
而线程运行时,所需的数据会被缓存在高速缓存中。
线程结束后,数据就会存回内存。

Java多线程的实现

Runnable 接口
run() 线程的运行方法
把Runnable接口的对象转换为Thread类的对象。

Thread 类,是Runnable接口的子类
run() 线程的运行方法
start() 线程的启动方法
sleep(long time) 线程的休眠方法,单位是毫秒

对于线程的实现
对于Run方法的重写

run() {
     int count =0;
     while (true)
{
         if(minVector.size() > 0) {
         vector.add(minVector.remove(0));
         ++count;
         }
  }
对于多线程的实现要注意:
有效利用多线程的关键是理解程序是并发执行而不是串行执行的。例如:程序中有两个子系统需要并发执行,这时候就需要利用多线程编程。
通过对多线程的使用,可以编写出非常高效的程序。不过请注意,如果你创建太多的线程,程序执行的效率实际上是降低了,而不是提升了。如果你创建了太多的线程,CPU 花费在上下文的切换的时间将多于执行程序的时间
发布了9 篇原创文章 · 获赞 21 · 访问量 1361

猜你喜欢

转载自blog.csdn.net/weixin_44603756/article/details/88360935