java程序是由上到下依次执行的,如果第一步没有执行完,那他后面的步骤也不会执行
而多线程就是在一段需要执行很久的代码出,单独使用一个线程来执行,从而使主线程和新开的线程形成一种并发的状态,让用户感觉像是在同时执行一下。
就比如你在浏览一个图片很多的网页,当前向后端发送一个请求后,如果才用单线程的方式那就会等图片在后台都下载完成了。然后在和信息一起返回给页面。如果加载时间久了,就会影响用户体验感。这里使用多线程的话就可以先让代码执行完成返回给前端图片的名称,基本信息什么的,然后开启一个多线程专门来下载图片,等下载完成后就返回给前端渲染图片。
可以类比为一个人住一间屋,还是多个人轮流住一间屋。一个人对应一道程序流,一间屋对应一组数据。
售票案例:只开放一个窗口排队售票(单线程),开放多个窗口同时售票(多线程)。
我觉得可以这么理解
理解的没错,还不够深刻,再多看看文章。