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

沾益住房和城乡建设局网站网站后台表格

沾益住房和城乡建设局网站,网站后台表格,兰州网站建设 冰雨,汽油价格最新调整文章目录 Java中的多线程一、引言二、多线程的创建和启动1、继承Thread类2、实现Runnable接口 三、线程的常用方法1、currentThread()和getName()2、sleep()和yield()3、join() 四、线程优先级五、使用示例六、总结 Java中的多线程 一、引言 在Java中#xff0c;多线程编程是… 文章目录 Java中的多线程一、引言二、多线程的创建和启动1、继承Thread类2、实现Runnable接口 三、线程的常用方法1、currentThread()和getName()2、sleep()和yield()3、join() 四、线程优先级五、使用示例六、总结 Java中的多线程 一、引言 在Java中多线程编程是一种常见的并发执行技术它允许程序同时执行多个任务。多线程可以提高程序的效率和响应性特别是在需要执行长时间运行的任务或多个任务时。本文将详细介绍Java中多线程的基本概念、创建方式以及一些常用的线程操作方法。 二、多线程的创建和启动 1、继承Thread类 创建多线程的一种方式是让自定义的类继承Thread类并重写其run方法。这种方式简单直观但存在单继承的局限性。 class MyThread extends Thread {Overridepublic void run() {for (int i 0; i 100; i) {if (i % 2 0) {System.out.println(Thread.currentThread().getName() : i);}}} }public class ThreadTest {public static void main(String[] args) {MyThread t1 new MyThread();t1.start(); // 启动线程} }2、实现Runnable接口 另一种创建多线程的方式是实现Runnable接口这种方式避免了单继承的局限性并且更适合多个线程共享数据。 class MyRunnable implements Runnable {Overridepublic void run() {for (int i 0; i 100; i) {System.out.println(Thread.currentThread().getName() -- i);}} }public class RunnableTest {public static void main(String[] args) {Thread t1 new Thread(new MyRunnable());t1.start(); // 启动线程} }三、线程的常用方法 1、currentThread()和getName() currentThread()方法返回当前代码执行的线程对象getName()方法用于获取当前线程的名字。 Thread.currentThread().getName(); // 获取当前线程名2、sleep()和yield() sleep()方法让当前线程暂停执行指定的时间而yield()方法则是让出当前线程的CPU执行权允许其他线程执行。 try {Thread.sleep(1000); // 暂停1秒 } catch (InterruptedException e) {e.printStackTrace(); }Thread.yield(); // 让出CPU执行权3、join() join()方法用于等待一个线程终止。这在需要确保某个线程执行完毕后再继续执行主线程的情况下非常有用。 Thread t2 new Thread(new MyRunnable()); t2.start(); try {t2.join(); // 等待t2线程执行完毕 } catch (InterruptedException e) {e.printStackTrace(); }四、线程优先级 线程优先级是一个整数其值从Thread.MIN_PRIORITY1到Thread.MAX_PRIORITY10。默认情况下线程的优先级是Thread.NORM_PRIORITY5。高优先级的线程更有可能被操作系统选中执行但这并不保证高优先级线程会先于低优先级线程执行完毕。 Thread t new Thread(new MyRunnable()); t.setPriority(Thread.MAX_PRIORITY); // 设置最高优先级 t.start();五、使用示例 下面是一个实际的多线程使用示例模拟了两个线程交替打印数字的场景 public class Counter {private int count 0;public void increment() {count;}public int getCount() {return count;} }class ThreadA extends Thread {private Counter counter;public ThreadA(Counter counter) {this.counter counter;}Overridepublic void run() {for (int i 0; i 100; i) {counter.increment();System.out.println(A: counter.getCount());}} }class ThreadB extends Thread {private Counter counter;public ThreadB(Counter counter) {this.counter counter;}Overridepublic void run() {for (int i 0; i 100; i) {counter.increment();System.out.println(B: counter.getCount());}} }public class Main {public static void main(String[] args) {Counter counter new Counter();ThreadA threadA new ThreadA(counter);ThreadB threadB new ThreadB(counter);threadA.start();threadB.start();} }在这个示例中Counter类用于计数ThreadA和ThreadB是两个线程它们共享同一个Counter实例并交替执行以增加计数器的值。主方法main中创建了Counter对象和两个线程对象并启动它们。这个示例展示了多线程在实际应用中的简单用法以及如何共享资源这里是Counter对象。 六、总结 Java中的多线程编程是一个强大的工具它可以帮助我们提高程序的效率和响应性。通过继承Thread类或实现Runnable接口我们可以创建和管理线程。了解线程的常用方法和优先级设置可以帮助我们更好地控制线程的行为和执行顺序。多线程编程也需要我们注意线程安全问题避免数据竞争和死锁等问题。 版权声明本博客内容为原创转载请保留原文链接及作者信息。 参考文章 Java多线程超详细大量代码-阿里云开发者社区
http://www.hkea.cn/news/14318512/

相关文章:

  • 可以做设计兼职的网站有哪些工作数码家电商城网站源码
  • 网站开发免费维护一年东莞在建工程
  • 买域名去哪个网站女士新能源小型车
  • 公司网站开发费用如何入账wordpress网站阿里云备案
  • 珠海网站建设王道下拉惠wordpress内外网
  • 建设网站前的市场分析网站关键词效果追踪怎么做
  • 安徽科技学院做移动网站优化快速排名软件
  • 宜宾建设招标网站企业网站建设长沙
  • 上海工程建设招投标网站国内免费自建网站
  • 最流行的网站开发语言wordpress图片0x0
  • 贵州三蒲建设工程有限公司网站国外服务器网站
  • 深圳建设个网站甜品网站设计与实现毕业设计
  • 如何通过做网站赚钱网站改版完成
  • 有关做洁净工程的企业网站百度推广官方投诉电话
  • 物业管理 网站开发西宁网站优化
  • 广西网站设计欣赏烟台做网站找哪家好
  • 主备网站服务器自动切换 win2003国外免费网站域名服务器入口
  • 网站白名单查询公司做网站的费用记什么科目
  • 护肤品网站建设的摘要学者网学科建设网站
  • 网站怎么添加背景移动网站开发 书
  • 网建设门户网站网站建设 力洋网络
  • 墙蛙网站谁家做的企业logo设计方案
  • 重庆建设工程信息网官网二级建造师注册信息查询南宁网站推广优化
  • 绍兴网站建设网站企业网站软件下载
  • 西安免费做网站微信的公众平台网站开发
  • 会宁网站建设域名备案查询系统工信部
  • 广州代做网站软件开发前景和收入
  • 做偏门网站餐饮品牌设计公司哪家好
  • 网站分页代码二手书的网站建设
  • 南宁企业做网站做家装的网站有哪些