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

网站建设部工作职能口碑营销的优缺点

网站建设部工作职能,口碑营销的优缺点,出入库管理软件 免费,旅游网站前端建设毕业论文Thread的常用方法 1.构造器 Thread提供的常见构造器说明public Thread(String name)可以为当前线程指定名称public Thread(Runnable target)封装Runnable对象成为线程对象public Thread(Runnable target,String name)封装Runnable对象成为线程对象,并指定线程名称…

Thread的常用方法

1.构造器

Thread提供的常见构造器说明
public Thread(String name)可以为当前线程指定名称
public Thread(Runnable target)封装Runnable对象成为线程对象
public Thread(Runnable target,String name)封装Runnable对象成为线程对象,并指定线程名称
public class Demo01 {public static void main(String[] args) {//public Thread(String name); 创建线程对象并设置线程名称MyThread t1 = new MyThread("火车");t1.start();//public Thread(Runnable target); 封装Runnable对象成为线程对象Thread t2 = new Thread(new MyRunnable(), "高铁");t2.start();}
}//线程实现方式一
class MyThread extends Thread {public MyThread(){}//子类将名称直接交给父类的构造器初始化public MyThread(String name) {super(name);}@Overridepublic void run() {//public void run(); 封装线程任务的方法for (int i = 1; i <= 10; i++) {//public String getName(); 获取线程名称System.out.println(getName() + ":" + i);}}
}//线程实现方式二
class MyRunnable implements Runnable {@Overridepublic void run() {for (int i = 1; i <= 10; i++) {System.out.println(Thread.currentThread().getName() + ":" + i);}}
}

2.方法

Thread提供的常用方法说明
public void run()线程的任务方法
public void start()启动线程
public String getName()获取当前线程的名称,线程名称默认是Thread-索引
public void setName(String name)为线程设置名称
public static Thread currentThread()获取当前线程的执行对象
public static void sleep(long time)让当前执行的线程休眠多少毫秒后,再继续执行
public final void join()让调用当前这个方法的线程先执行完
public class Demo02 {public static void main(String[] args) {MyThread t1 = new MyThread();//public void setName(); 设置线程名称t1.setName("火车");//public void start(); 启动线程t1.start();//public Thread(Runnable target); 封装Runnable对象成为线程对象Thread t2 = new Thread(new MyRunnable(), "高铁");t2.start();}
}//线程实现方式一
class MyThread extends Thread {@Overridepublic void run() {//public void run(); 封装线程任务的方法for (int i = 1; i <= 10; i++) {//public String getName(); 获取线程名称System.out.println(getName() + ":" + i);}}
}//线程实现方式二
class MyRunnable implements Runnable {@Overridepublic void run() {for (int i = 1; i <= 10; i++) {System.out.println(Thread.currentThread().getName() + ":" + i);}}
}
public static void sleep(long time)让当前执行的线程休眠多少毫秒后,再继续执行
public final void join()让调用当前这个方法的线程先执行完
public class Demo03 {public static void main(String[] args) throws InterruptedException {//public static void sleep(long time); 让当前执行的线程,休眠指定毫秒后继续运行
//        System.out.println("测试开始");
//        Thread.sleep(3000);
//        System.out.println("测试开始");//public final void join(); 让调用这个方法的线程,启动后优先执行完毕//Java中如何控制三个线程,按指定顺序执行完毕(三个方法启动后都加join,调整顺序即可实现)Thread t3 = new Thread(() -> {for (int i = 1; i <= 5; i++) {System.out.println(Thread.currentThread().getName() + ":" + i);}}, "线程3");t3.start();t3.join(); Thread t2 = new Thread(() -> {for (int i = 1; i <= 5; i++) {System.out.println(Thread.currentThread().getName() + ":" + i);}}, "线程2");t2.start();t2.join(); Thread t1 = new Thread(() -> {for (int i = 1; i <= 5; i++) {System.out.println(Thread.currentThread().getName() + ":" + i);}}, "线程1");t1.start();t1.join(); }
}

3.补充

(1)线程分为两种调度模型

  • 分时调度,所有线程轮流使用CPU,平均分配时间

  • 抢占式调度:优先级高的获取CPU时间相对长一些(不是绝对),如果优先级相同会随机选择,Java中线程的调度模型为抢占式调度,在同一时刻,线程抢夺CPU的执行权是随机的

  • public final void setDaemon(boolean on):设置当前线程为守护线程,当其他线程执行完毕了,守护线程也就跟着停止了,但不是立刻

    public class Demo03 {public static void main(String[] args) {//public final void setDaemon(boolean on); 设置当前线程为守护线程new Thread(() -> {for (int i = 1; i <= 10; i++) {System.out.println(Thread.currentThread().getName() + ":" + i);}}, "线程1").start();Thread t2 = new Thread(() -> {for (int i = 1; i <= 100; i++) {System.out.println(Thread.currentThread().getName() + ":" + i);}}, "线程2");//public final void setDaemon(boolean on); 设置当前线程为守护线程t2.setDaemon(true);t2.start();}
    }
    
  • public final void setPriority():设置线程优先级

  • public final int getPriority():获取线程优先级

    线程优先级高仅是抢到CPU的执行权相对几率大,不是绝对的

    public static final int MIN_PRIORITY=1;最低

    public static final int NORM_PRIORITY=5;默认

    public static final int MAX_PRIORITY=10;最高

public class Demo03 {public static void main(String[] args) {Thread t1 = new Thread(() -> {for (int i = 1; i <= 10; i++) {System.out.println(Thread.currentThread().getName() + ":" + i);}}, "飞机");//public final void setPriority();设置线程优先级//t1.setPriority(100); //数值超出了范围,抛异常 IllegalArgumentExceptiont1.setPriority(10);t1.start();Thread t2 = new Thread(() -> {for (int i = 1; i <= 10; i++) {System.out.println(Thread.currentThread().getName() + ":" + i);}}, "大炮");//System.out.println(t2.getPriority()); //默认是5t2.start();}
}
http://www.hkea.cn/news/129578/

相关文章:

  • 网站制作网站建设网页设计页面
  • 网站开发兼容极速字体颜色推荐seo平台优化服务
  • wordpress建站流量齐三seo顾问
  • 怎么看一个网站做没做竞价公司网站怎么建立
  • seo神马网站推广器怎么做神马搜索排名seo
  • 桂林漓江景区网站优化推广排名
  • 网站首页模板设计图网络推广平台代理
  • 一女被多男做的视频网站搜全网的浏览器
  • 建设公司网站费用电脑培训课程
  • 电子商务网站建设课后题女生学网络营销这个专业好吗
  • 新疆兵团建设网站商丘seo优化
  • 手机微信网站怎么做的软文发布网站
  • 传奇手游发布网站seo排名优化方式
  • 网站建设明细报价外链信息
  • 哪个网站做漫画可以有钱营销型网站设计
  • wordpress在线视频直播湖南正规关键词优化
  • 花木企业网站源码全网推广的方式
  • 网站开发商怎么关闭图片显示站长之家新网址
  • 灯饰如何做网站推广纯手工seo公司
  • 晋中公司做网站seo站长之家
  • 到哪里找人做网站优化seo培训班
  • 深圳网站开发哪家专业搜索到的相关信息
  • 湖北武汉网站制作引擎搜索下载
  • 做网站登录的需求分析seo点击排名工具有用吗
  • 诸暨住房和城乡建设委员会网站怎么制作网站?
  • 昆明cms建站模板视频号排名优化帝搜软件
  • 商务咨询网站源码重庆网站建设哪家好
  • 建设部网站从何时可以查询工程师证深圳全网推广服务
  • 网页制作工具的选择与网站整体风格是有关系的友情链接论坛
  • 免费商会网站模板百度推广账号