当前位置:首页 » 编程语言 » java开启线程

java开启线程

发布时间: 2022-11-21 01:30:25

java有几种实现线程的方式

有三种:

(1)继承Thread类,重写run函数

创建:class xx extends Thread{ public void run(){Thread.sleep(1000) //线程休眠1000毫秒,sleep使线程进入Block状态,并释放资源}}

开启线程:对象.start() //启动线程,run函数运行

(2)实现Runnable接口,重写run函数

开启线程:Thread t = new Thread(对象) //创建线程对象t.start()

(3)实现Callable接口,重写call函数

Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务。

⑵ JAVA开启三个线程,去读取数组中的数据不能重复

set中是不能存在重复数的。
这个可以通过修改数据的时间来判断。例如:表中有个字段读取时间。当这个客户读取10条数据的时候,更新读取时间为当前时间。然后下个客户读取的时候,判断时间在半个小时内,没有更新的数据。就OK了。

⑶ JAVA中如何控制线程的启动与暂停

<pre t="code" l="java">boolean run = true;
Thread thread = new Thread(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub
while(run){
// 所需执行的代码

}

}
});

按钮打开时,可以run = true; thread.start();开启线程
按钮关闭时, run = false; 线程自动关闭。

⑷ java 开启多线程里面如何加条件判断执行其他逻辑

package test; import java.util.concurrent.CountDownLatch;import java.util.concurrent.Executor;import java.util.concurrent.Executors; public class WatchThread { public void testThread() throws InterruptedException {int threadNum = 10;// 初始化countDownCountDownLatch threadSignal = new CountDownLatch(threadNum);// 创建固定长度的线程池Executor executor = Executors.newFixedThreadPool(threadNum);for (int i = 0; i < threadNum; i++) { // 开threadNum个线程Runnable task = new TestThread(threadSignal);// 执行executor.execute(task);}threadSignal.await(); // 等待所有子线程执行完// do workSystem.out.println(Thread.currentThread().getName() + "");} /*** 测试函数*/public static void main(String[] args) throws InterruptedException {WatchThread test = new WatchThread();test.testThread();} private class TestThread implements Runnable {private CountDownLatch threadsSignal; public TestThread(CountDownLatch threadsSignal) {this.threadsSignal = threadsSignal;} public void run() {System.out.println(Thread.currentThread().getName() + "开始...");// do shomethingSystem.out.println("开始了线程::::" + threadsSignal.getCount());// 线程结束时计数器减1threadsSignal.countDown();System.out.println(Thread.currentThread().getName() + "结束. 还有"+ threadsSignal.getCount() + " 个线程");}} }

⑸ JAVA如何重新启用一个线程

java实现多线程有2种方法:1扩展java.lang.Thread类;2实现java.lang.Runnable接口 下面举个例子,实现Runnable,来实现多线程 public class DoSomething implements Runnable { //实现Runnable接口 public void run() { // 实现run方法 for (int i = 0; i < 5; i++) { // 重复5次 System.out.println("次线程do something"); try { Thread.sleep(1000); //休眠1秒 } catch (Exception e) {} } } public static void main(String[] args) { DoSomething dothing = new DoSomething(); Thread t1 = new Thread(dothing); t1.start(); //这里就是楼主提的问题,启动线程,执行上面写的run()方法 for (int i = 0; i < 5; i++) { //主线程 System.out.println("主线程do something"); try { Thread.sleep(1000); //休眠1秒 } catch (Exception e) {} } } }

⑹ java怎么创建一个线程

Java线程类也是一个object类,它的实例都继承自java.lang.Thread或其子类。可以用如下方式用java中创建一个线程:

Treadthread=newThread();

执行该线程可以调用该线程的start()方法:

thread.start();

编写线程运行时执行的代码有两种方式:一种是创建Thread子类的一个实例并重写run方法,第二种是创建类的时候实现Runnable接口。接下来我们会具体讲解这两种方法:

创建Thread的子类

创建Thread子类的一个实例并重写run方法,run方法会在调用start()方法之后被执行。例子如下:

{
publicvoidrun(){
System.out.println("MyThreadrunning");
}
}

可以用如下方式创建并运行上述Thread子类

MyThreadmyThread=newMyThread();
myTread.start();

一旦线程启动后start方法就会立即返回,而不会等待到run方法执行完毕才返回。就好像run方法是在另外一个cpu上执行一样。当run方法执行后,将会打印出字符串MyThread running。

实现Runnable接口

第二种编写线程执行代码的方式是新建一个实现了java.lang.Runnable接口的类的实例,实例中的方法可以被线程调用。下面给出例子:

{
publicvoidrun(){
System.out.println("MyRunnablerunning");
}
}

为了使线程能够执行run()方法,需要在Thread类的构造函数中传入MyRunnable的实例对象。示例如下:

Threadthread=newThread(newMyRunnable());
thread.start();

当线程运行时,它将会调用实现了Runnable接口的run方法。上例中将会打印出”MyRunnable running”。

⑺ java多线程有几种实现方法

  • 继承Thread类来实现多线程:

  • 当我们自定义的类继承Thread类后,该类就为一个线程类,该类为一个独立的执行单元,线程代码必须编写在run()方法中,run方法是由Thread类定义,我们自己写的线程类必须重写run方法。

    run方法中定义的代码为线程代码,但run方法不能直接调用,如果直接调用并没有开启新的线程而是将run方法交给调用的线程执行

    要开启新的线程需要调用Thread类的start()方法,该方法自动开启一个新的线程并自动执行run方法中的内容


    *java多线程的启动顺序不一定是线程执行的顺序,各个线程之间是抢占CPU资源执行的,所有有可能出现与启动顺序不一致的情况。


    CPU的调用策略:

    如何使用CPU资源是由操作系统来决定的,但操作系统只能决定CPU的使用策略不能控制实际获得CPU执行权的程序。


    线程执行有两种方式:


    1.抢占式:

    目前PC机中使用最多的一种方式,线程抢占CPU的执行权,当一个线程抢到CPU的资源后并不是一直执行到此线程执行结束,而是执行一个时间片后让出CPU资源,此时同其他线程再次抢占CPU资源获得执行权。


    2.轮循式;

    每个线程执行固定的时间片后让出CPU资源,以此循环执行每个线程执行相同的时间片后让出CPU资源交给下一个线程执行。

⑻ java有几种实现线程的方式

有三种:

(1)继承Thread类,重写run函数

创建:class xx extends Thread{ public void run(){Thread.sleep(1000)//线程休眠1000毫秒,sleep使线程进入Block状态,并释放资源}}

开启线程:对象.start()//启动线程,run函数运行

(2)实现Runnable接口,重写run函数

开启线程:Thread t = new Thread(对象)//创建线程对象t.start()

(3)实现Callable接口,重写call函数

Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务。

⑼ Java线程怎样使用

多进程是指操作系统能同时运行多个任务(程序),多线程是指在同一程序中有多个顺序流在执行。

在java中创建一个线程有两种方法:

packagecom.thread;

publicclassThreadTest1{
publicstaticvoidmain(String[]args){
Runnable1r=newRunnable1();
//r.run();并不是线程开启,而是简单的方法调用
Threadt=newThread(r);//创建线程
//t.run();//如果该线程是使用独立的Runnable运行对象构造的,则调用该Runnable对象的run方法;否则,该方法不执行任何操作并返回。
t.start();//线程开启
for(inti=0;i<100;i++){
System.out.println("main:"+i);
}
}
}
{
publicvoidrun(){
for(inti=0;i<100;i++){
System.out.println("Thread-----:"+i);
}
}
}
热点内容
安卓网络编程怎么用 发布:2025-01-16 03:04:45 浏览:897
湖南it服务器怎么样 发布:2025-01-16 03:01:01 浏览:246
图中两种配置哪个好 发布:2025-01-16 02:59:28 浏览:580
如何解开密保密码 发布:2025-01-16 02:57:44 浏览:21
中国银行查询密码是什么 发布:2025-01-16 02:33:20 浏览:792
坚果pro录音文件夹 发布:2025-01-16 02:31:46 浏览:940
支付宝的登录密码忘记了如何改 发布:2025-01-16 02:30:30 浏览:222
解压作业泥 发布:2025-01-16 02:28:02 浏览:808
我的世界rpg服务器空岛 发布:2025-01-16 02:26:49 浏览:91
ps脚本函数 发布:2025-01-16 02:15:28 浏览:482