星空网 > 软件开发 > Java

[javaSE] 看博客学习多线程的创建方式和优劣比较和PHP多线程

通过实现Runnable接口创建线程

 

获取Thread对象,new出来,构造函数参数:Runnable对象

Runnable是一个接口,定义一个类MyRunnable实现Runnable接口,实现run()方法,

重写run()方法,编写业务逻辑

调用Thread.currentThread()方法获取当前Thread对象

调用Thread对象的start()方法

package com.tsh.test;public class Home {  public static void main(String[] args) {    MyRunnable myRunnable = new MyRunnable();    //开启两个线程处理同一个目标对象的资源    new Thread(myRunnable).start();    new Thread(myRunnable).start();  }}class MyRunnable implements Runnable {  private int nums=10;  @Override  public void run() {    while(nums-- > 0){      System.out.println(Thread.currentThread().getName()+"==="+nums);    }      }}

 

结果:

Thread-0===8

Thread-1===8

Thread-1===6

Thread-0===7

Thread-0===4

Thread-0===3

Thread-0===2

Thread-1===5

Thread-1===0

Thread-0===1

优点:

线程类只是实现了Runnable接口,还可以继承别的类

可以多个线程共享同一个目标对象

缺点:

逻辑稍微复杂

获取当前线程对象只能使用Thread.currentThread()方法

 

继承Thread

定义一个类MyThread继承Thread,重写run()方法

在run()方法中编写业务逻辑,使用this就是当前Thread对象

获取Thread对象,通过new MyThread()

调用Thread对象的start()方法

package com.tsh.test;public class Home {  public static void main(String[] args) {    //开启两个线程    new MyThread().start();    new MyThread().start();  }}class MyThread extends Thread{  private int nums=10;  @Override  public void run() {    while(nums-- > 0){      System.out.println(this.getName()+"==="+nums);    }  }}

 

 

结果:

Thread-0===9

Thread-1===9

Thread-1===8

Thread-0===8

Thread-1===7

Thread-1===6

Thread-0===7

Thread-1===5

Thread-1===4

Thread-0===6

Thread-0===5

Thread-0===4

Thread-0===3

Thread-1===3

Thread-1===2

Thread-0===2

Thread-0===1

Thread-1===1

Thread-0===0

Thread-1===0

 

优点:

编写简单,this代表当前Thread对象

缺点:

线程类不能再继承其他父类

 

PHP安装pthreads扩展教程

http://my.oschina.net/yanhx/blog/198114

注意扩展所对应的php版本号,windows系统扩展下载地址

http://windows.php.net/downloads/pecl/releases/pthreads/

手册地址

http://php.net/manual/zh/book.pthreads.php

<?php/** * PHP多线程 */class MyThread extends Thread{  public function run(){    echo $this->getThreadId()."线程开启<br/>";  }}$myThread=new MyThread();$myThread->start();$myThread=new MyThread();$myThread->start();$myThread=new MyThread();$myThread->start();?>

 

 

结果:

13104线程开启

6240线程开启

8832线程开启




原标题:[javaSE] 看博客学习多线程的创建方式和优劣比较和PHP多线程

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

送到泰国快递:https://www.goluckyvip.com/tag/88841.html
永源泰物流:https://www.goluckyvip.com/tag/88842.html
泰国境内快递:https://www.goluckyvip.com/tag/88843.html
泰盛源物流:https://www.goluckyvip.com/tag/88844.html
泰什么物流:https://www.goluckyvip.com/tag/88845.html
泰兴隆国际物流:https://www.goluckyvip.com/tag/88848.html
海南岛琼海市旅游景点 琼海市的旅游景点:https://www.vstour.cn/a/363189.html
月活用户超20亿!万亿市值巨头对中国商家进一步开闸放流 :https://www.kjdsnews.com/a/1836412.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流