多线程关于优先级。

多线程关于优先级

对多个线程设置不同的优先级

code:

package Chapter8;
 class MyThread4 extends Thread
 {
     public void run()
     {
         for(int i=0;i<5;i++)
         {
System.out.println(i+" "+getName()+"优先级是:"+getPriority());
             }
     }
 }
public class ThreadExample3 {
    public static void main(String[] args)
    {
        MyThread4 t1=new MyThread4();
        MyThread4 t2=new MyThread4();
        t1.setPriority(1);
        t2.setPriority(10);
        t1.start();
        t2.start();
        
        
    }

}
运行结果:
0 Thread-0优先级是:1
0 Thread-1优先级是:10
1 Thread-1优先级是:10
2 Thread-1优先级是:10
3 Thread-1优先级是:10
4 Thread-1优先级是:10
1 Thread-0优先级是:1
2 Thread-0优先级是:1
3 Thread-0优先级是:1
4 Thread-0优先级是:1
照片:

启动线程的方式有两种,一种是继承Thread 这个类,另一种方式是:实现接口Runnable

看看下面的这个几行代码有没有什么问题?

code:

claass Mythread2 implements Runnable

{

public void run()

{

for (int i=0;i<5;i++)

{

System.out.println(i+" "+getName()+"优先级"+getPriority());

}

}

}

这几行代码有bug.  Runnable 是一个接口。必须要实现接口的里方法。 而getName()和getPriority()方法是不是这个接口里面的方法

在Mythread2这个类中也没有getName()方法和getPriority()方法. 必然会报错的。

在类Thread 中有这几个方法。
class MyThread4 extends Thread
 {
     public void run()
     {
         for(int i=0;i<5;i++)
         {
System.out.println(i+" "+getName()+"优先级是:"+getPriority());
             }
     }
 }

这才是可以行的通。

getName()  返回线程的名称

getPriority()  返回I线程的优先级

setPriority()  更改线程的优先级

时间: 2024-10-24 11:13:54

多线程关于优先级。的相关文章

java多线程设置优先级

package com.itbuluoge.mythread; class SimpleThread extends Thread { private int priority; public SimpleThread(int i) { priority=i; } public void run() { Thread.currentThread().setPriority(priority); for(int i=0;i<10000;i++) { try { Thread.sleep(100);

java基础----&gt;java多线程的使用(四)

线程的priority能告诉调度程序其重要性如何,今天我们通过实例来学习一下java多线程中的关于优先级的知识. java多线程的优先级 一.java多线程中关于优先级的实例 package com.linux.huhx.thread1; import java.util.Random; import java.util.concurrent.TimeUnit; public class PriorityThread extends Thread { PriorityThread(String

Java Socket实现基于TCP和UDP多线程通信

一.通过Socket实现TCP编程 1.1 TCP编程 TCP协议是面向连接,可靠的,有序的,以字节流的方式发送数据.基于TCP协议实现网络通信的类有客户端的Socket类和服务器端的ServerSocket类. 1.2 服务器端套路 1.创建ServerSocket对象,绑定监听端口. 2.通过accept()方法监听客户端请求. 3.连接建立后,通过输入流读取客户端发送的请求信息. 4.通过输出流向客户端发送响应信息. 5.关闭响应的资源. 1.3 客户端套路 1.创建Socket对象,指明

C# 多线程系列(一)

1.线程概念 进程(process)是一块包含某些资源的内存区域,操作系统利用进程把它的工作划分为功能单元.而线程是进程的一个实体,是CPU调度和分派的基本单元,是比进程更小的能独立运行的基本单元.线程自己并不拥有系统资源,只是拥有在运行中必不可少的极少资源(如程序计算器,一组寄存器和栈等),但是它与同属一个进程的其他线程共享进程所拥有的全部资源. 应用程序中,一个程序至少有一个进程,一个进程至少有一个线程. 2.多线程的优点 (1)提高CPU利用率 (2)提高程序响应速度.多线程可将应用程序相

iOS之多线程1-NSThread简介

关于多线程在iOS中的重要性,就不废话了.就一个字:重要 ! ^_^ iOS中常用的三种多线程方式:NSThread , GCD, NSOpertaion 虽然NSThrea排在第一位(几乎所有的介绍多线程的书籍都是这么排序),但用的最少,原因:没有后面的两个小弟用起来体贴. 作为多线程的大哥,NSThread几乎已经躲到幕后了. NSThread是从Mac OS 系统引入到iOS中的,在Mac OS 10.5之前,NSThread的启用方法只有一个: detachNewThreadSelect

从头认识java-18.2 主要的线程机制(4)-优先级

这一章节我们来讨论一下多线程的优先级问题. 1.样例: package com.ray.ch17; public class Test { public static void main(String[] args) { MyThead myThead = new MyThead(); MyThead2 myThead2 = new MyThead2(); for (int i = 0; i < 5; i++) { Thread thread = new Thread(myThead); thr

(转)Java Socket编程

原文出自:http://www.cnblogs.com/rocomp/p/4790340.html Socket是网络驱动层提供给应用程序编程接口和一种机制.可以把Socket比喻成一个港口码头,应用程序只要把货物放到港口码头上,就算完成了货物的运送.对于接收方应用程序也要创建一个港口码头,只需等待货物到达码头后将货物取走. InetAddress          InetAddress类用于标识网络上的硬件资源,标识互联网协议(IP)地址.           该类没有构造方法       

Java Socket编程----通信是这样炼成的

Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket.像大家熟悉的QQ.MSN都使用了Socket相关的技术.下面就让我们一起揭开Socket的神秘面纱. Socket编程 一.网络基础知识(参考计算机网络)            关于计算机网络部分可以参考相关博客:           <TCP/IP协议栈及OSI参考模型详解> http://wangdy.blog.51cto.com/3845563/

AtomicInteger简介

这个类真的非常实用,更重要的是 它确实非常简单: 附上自己的代码,可以自己试试: AtomicInteger,一个提供原子操作的Integer的类.在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字.而AtomicInteger则通过一种线程安全的加减操作接口. 代码: package test; import java.util.concurrent.atomic.AtomicInteger;/** * 来看AtomicInteg