当前位置: 首页 > news >正文

拓吧网站推荐网站建设服务话术

拓吧网站,推荐网站建设服务话术,如何建立自己的网站平台,做软装设计能用到的网站有哪些1 概念 1.1 线程是什么#xff1f;#xff1f; 线程#xff08;Thread#xff09;是计算机科学中的一个基本概念#xff0c;它是进程#xff08;Process#xff09;中的一个执行单元#xff0c;负责执行程序的指令序列。线程是操作系统能够进行调度和执行的最小单位。…1 概念 1.1 线程是什么 线程Thread是计算机科学中的一个基本概念它是进程Process中的一个执行单元负责执行程序的指令序列。线程是操作系统能够进行调度和执行的最小单位。在多任务操作系统中多个线程可以在同一个进程内并发执行共享进程的资源。 { 假设你正在厨房中准备晚餐这个过程中有多个线程在运行每个线程代表一个不同的烹饪任务。这些线程可以同时执行以加速整个烹饪过程就像多线程在计算机程序中一样。 主厨线程这个线程负责协调整个烹饪过程。主厨线程制定了食谱和指导其他线程如何协同工作。 切菜线程这个线程负责将食材切成适当的大小和形状。它可以在切菜板上进行多个切割任务以提高效率。 炉灶线程这个线程负责在炉灶上烹饪不同的菜肴。例如一个线程可以煮汤另一个线程可以煎肉它们可以同时工作以节省时间。 烤箱线程如果你需要烤一道菜那么烤箱线程可以负责在烤箱中烘烤食物同时其他线程继续处理其他任务。 洗碗线程一旦完成烹饪就有一个线程负责洗碗和清理厨房。这个线程可以与其他线程并发运行以确保整个晚餐流程的顺利结束。 在这个例子中每个线程都代表一个不同的烹饪任务它们可以并行工作以提高烹饪效率就像多线程在计算机程序中允许不同任务并发执行一样 } 1.2  为什么要使用线程 1 “并发编程”成为“刚需” 单核CPU的发展遇到了瓶颈想要提高算力就需要多核CPU。而并发编程能够充分利用多核CPU资源 有些任务场景需要“等待IO”为了让等待的时间去做一些其他工作也需要使用到并发编程。 2. 虽然进程也能够实现并发编程但是线程比进程更加轻量级。 创建线程比创建进程更快. 销毁线程比销毁进程更快. 调度线程比调度进程更快. 1.3 进程和线程的区别 进程是包含线程的。每个进程至少有一个线程的存在也就是主线程进程和线程之间不共享内存空间。同一个进程的线程之间共享同一内存空间进程是系统分配资源的最小单位线程是操作系统调度的最小单位进程是相互独立的一个进程的崩溃通常不会影响其他进程。线程之间更密切相关一个线程的错误可能会影响到同一进程中的其他线程。创建和销毁进程通常比线程昂贵因为进程需要分配和释放独立的内存空间和资源。线程的创建和销毁通常更快因为它们共享进程的资源不需要分配独立的内存空间。 1.4 Java的线程和操作系统的线程的区别 线程是操作系统中的概念. 操作系统内核实现了线程这样的机制, 并且对用户层提供了一些 API 供用户使用(例如 Linux 的 pthread 库). Java 标准库中 Thread 类可以视为是对操作系统提供的 API 进行了进一步的抽象和封装. 2 感受多线程代码 多线程和普通程序最大的区别就是每个线程都是独立的执行流 多线程之间是并发执行的。 public class ThreadDemo {private static class MyThread extends Thread{Overridepublic void run() {Random random new Random();while (true){// 打印主线程名称System.out.println(Thread.currentThread().getName());try {Thread.sleep(random.nextInt(10));//随机停止运行0-9秒} catch (InterruptedException e) {e.printStackTrace();}}}}public static void main(String[] args) {MyThread t1 new MyThread();MyThread t2 new MyThread();MyThread t3 new MyThread();//启动并创建线程工作t1.start();t2.start();t3.start();//主线程工作Random random new Random();while (true){// 打印主线程名称System.out.println(Thread.currentThread().getName());try {Thread.sleep(random.nextInt(10));//随机停止运行0-9秒} catch (InterruptedException e) {e.printStackTrace();}}} } 结果 我们可以使用JDK提供的jconsole命令观察线程在jdk的bin目录下面 3 创建线程的“五种”方式 方法1 继承Thread类 public class ThreadDemo1 {static class MyThread extends Thread{//重写run方法 run描述该线程要干的活是什么Overridepublic void run() {System.out.println(我是一个线程 hello thread!);}//run方法执行完毕后 新的这个线程就会被销毁}public static void main(String[] args) {Thread thread new MyThread();//thread类不需要任何包为什么还有哪些我们见过的 出现这种情况 java.lang包下面的是不用导包的 比如string stirngbuilderthread.start();//线程中的启动方法 start创建了一个新线程 有新线程来执行run方法} } 方法2 实现Runnable 接口 // Runnable 作用就是描述一个“要执行的任务” run方法就是任务的执行细节 class MyRunnable implements Runnable{Overridepublic void run() {System.out.println(hello thread-runnable);} }public class ThreadDemo2 {public static void main(String[] args) {// new Runnable就是描述一个任务MyRunnable runnable new MyRunnable();//然后将这个任务交给线程来执行Thread thread new Thread(runnable);thread.start();thread.run();/** thread.run()是在当前线程中执行线程的任务没有创建新的线程不实现并发。thread.start()创建一个新的线程并在新线程中执行线程的任务实现了多线程并发。通常应该使用thread.start()来启动线程*/} } 首先对比一下上面两种方法 继承 Thread 类, 直接使用 this 就表示当前线程对象的引用. 实现 Runnable 接口, this 表示的是 MyRunnable 的引用. 需要使用 Thread.currentThread() 后面的方法都是前两者的“变形” 方法3 匿名内部类创建 Thread 子类对象 //使用匿名内部类来实现线程 public class ThreadDemo3 {public static void main(String[] args) {Thread t new Thread() {Overridepublic void run() {System.out.println(匿名内部类实现thread);}};t.start();} }方法4 匿名内部类创建 Runnable 子类对象 //使用匿名内部类 public class ThreadDemo4 {public static void main(String[] args) {Thread t new Thread(new Runnable() {Overridepublic void run() {System.out.println(实现runnable-匿名内部类);}});t.start();} } 方法5 lambda 表达式创建 Runnable 子类对象 //lambda public class ThreadDemo5 {public static void main(String[] args) {Thread t new Thread(() - {System.out.println(hello thread);});t.start();} }
http://www.w-s-a.com/news/962993/

相关文章:

  • 网站建设包括哪些方面学校网站 建设
  • 贵阳网站优化公司建筑设计师用什么软件
  • 网站建设的小说静态网页模板免费网站
  • 芜湖建设厅官方网站wordpress自动设置缩略图
  • 推荐网站网页湛江网站建设哪家优惠多
  • 传奇网站免费空间网店装修店面
  • 网站改版 重新收录湖南建筑信息一体化管理平台
  • 可以做直播卖产品的网站陕西省建设银行网站
  • 搭建网站的英语seo优化专员招聘
  • 做网站深紫色搭配什么颜色网站的在线支付怎么做
  • 中国最大网站建设公司长沙专业做网站公司哪家好
  • 金峰辉网站建设菏泽财富中心网站建设
  • 怎么做网站站长视频企业网站开发意义
  • 网站创建多少钱商标自助查询系统官网
  • 免费做App和网站的平台广州做网站推广的公司
  • 衡水做网站推广的公司wordpress相册滑动
  • 不用域名也可以做网站公司网站建设制作难么
  • 学做网站培训机构wordpress 图片拉伸
  • 成都捕鱼网站建设wordpress自定义文章类别
  • wordpress网站怎么加速湖北网站建设企业
  • 迁安做网站中的cms开发南平网站建设公司
  • 肥西县住房和城乡建设局网站代驾系统定制开发
  • 网站建设明细报价表 服务器qq是哪家公司的产品
  • html链接网站模板wordpress怎么调用简码
  • 网站域名怎么查简述网站推广的五要素
  • 咸宁网站设计公司app安装下载
  • 丝网外贸做哪些网站最优的赣州网站建设
  • 如何做网站不被查网站开发工程师岗位说明书
  • 做网站需要vps吗网站建设后怎样发信息
  • 网站建立风格二手交易网站开发可参考文献