多线程的主要操作方法

1,线程的命名及取得


class MyThreadimplements Runnable{

@Override

public void run(){

System.out.println(Thread.currentThread().getName());  //线程命名的取得

}

}

public class TestDemo{

public static void main(String[] args){

MyThread mt = new MyThread();

new Thread(mt,"线程A").start(); //线程的命名

new Thread(mt,"线程B").start();

new Thread(mt,"线程C").start();

}

}

2、线程的休眠


class MyThreadimplements Runnable{

@Override

public void run(){

for(int i = 0;i < 50;i++){

try {

Thread.sleep(100);   //线程休眠

} catch(InterruptedException e) {

e.printStackTrace();

}

}

System.out.println(Thread.currentThread().getName());  //线程命名的取得

}

}

public classTestDemo {

public static void main(String[] args){

MyThread mt = new MyThread();

new Thread(mt,"线程A").start(); //线程的命名

new Thread(mt,"线程B").start();

new Thread(mt,"线程C").start();

}

}

3、线程的优先级

取得优先级的时候都是利用一个int整型数据的操作,三种int整型数据的取值:

最高优先级:int MAX_PRIORITY,10

中等优先级:int NORM_PRIORITY,5

最低优先级:int MIN_PRIORITY,1



class MyThreadimplements Runnable{

@Override

public void run(){

for(int i = 0;i < 50;i++){

try {

Thread.sleep(100);   //线程休眠

} catch(InterruptedException e) {

e.printStackTrace();

}

}

System.out.println(Thread.currentThread().getName());  //线程命名的取得

}

}

public classTestDemo {

public static void main(String[] args){

MyThread mt = new MyThread();

Thread t1 = newThread(mt,"线程A"); //线程命名

Thread t2 = new Thread(mt,"线程B");

Thread t3 = newThread(mt,"线程C");

t1.setPriority(Thread.MIN_PRIORITY);   //线程优先级顺序

t2.setPriority(Thread.MAX_PRIORITY);

t3.setPriority(Thread.NORM_PRIORITY);

t1.start();  //启动线程

t2.start();

t3.start();

}

}

时间: 2024-12-23 18:30:05

多线程的主要操作方法的相关文章

FMDB在Swift中的基本使用

?什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API ?FMDB的优点 使用起来更加面向对象,省去了很多麻烦.繁杂的C语言代码 提供了多线程数据库的操作方法,有效的防止数据混乱 FMDB有三个主要的类 ?FMDatabase 一个FMDBDatabase对象就代表一个单独的SQLite数据库 用来执行SQL语句 ?FMResultSet 使用FMDatabase执行查询后的结果集 ?FMDatabaseQueue 用于在多线程中查询

多线程之线程常用操作方法

在Java实现多线程的程序中,虽然Thread类实现了Runnable接口,但是操作线程的主要方法并不在Runnable接口中,而在Thread类中. 模版 class MyThread implements Runnable{ public void run(){//覆写run方法 for(int i=0;i<3;i++) { System.out.println("SSS"); } ] } public class TestThread{ public static void

多线程(认识多线程、线程的常用操作方法)

认识多线程 进程与线程: 进程是程序的一次动态执行过程,它经历了从代码加载.到执行完毕的一个完整过程,这个过程也是进程本身从产生.发展到最终消亡的过程. 多线程是实现并发机制的一种有效手段.进程和线程一样,都是实现并发的一个基本单位. Java的多线程实现,有一下两种方式: ·继承Thread类 ·实现Runnable接口 Thread类 Thread类是在java.lang包下定义的,一个类只要继承了Thread类,此类就称为多线程操作类.在Thread子类中,必须明确的腹泻Thread中的r

多线程操作的方法(sleep,)setPriority(Thread.MIN_PRIORITY);yield();

在多线程中所有的操作方法都是从Thread类开始的,所有的操作基本都在Thread类中. 第一取得线程名字 a,在Thread类中,可以通过getName()方法,获得线程的名字,可以通过setName()方法设置线程的名字 b,线程名字一般在线程启动前设置,但是也允许为已经运行的线程设置名称,允许2个Thread对象有相 同的名字,但是不推荐,你懂的!!! c,如果程序没有为线程指定名字,则系统自动为线程分配一个名称. package xianchengcaozuo; public class

java_第9章:多线程

030901_[第9章:多线程]_认识多线程 030902_[第9章:多线程]_线程常用操作方法 030903_[第9章:多线程]_线程操作范例 030904_[第9章:多线程]_同步与死锁 030905_[第9章:多线程]_线程操作案例--生产者和消费者 030906_[第9章:多线程]_线程生命周期

iOS多线程编程

1. 进程,线程, 任务 进程:一个程序在运行时,系统会为其分配一个进程,用以管理他的一些资源. 线程:进程内所包含的一个或多个执行单元称为线程,线程一般情况下不持有资源,但可以使用其所在进程的资源. 任务:进程或线程中要做的事情. 在引入线程的操作系统中,通常把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位. 线程比进程更小,对其调度的开销小,能够提高系统内多个任务的并发执行程度. 一个程序至少有一个进程,一个进程至少有一个线程.一个程序就是一个进程,而一个程序中的多个任

iOS多线程开发--NSThread NSOperation GCD

多线程 当用户播放音频.下载资源.进行图像处理时往往希望做这些事情的时候其他操作不会被中 断或者希望这些操作过程中更加顺畅.在单线程中一个线程只能做一件事情,一件事情处理不完另一件事就不能开始,这样势必影响用户体验.早在单核处理器时期 就有多线程,这个时候多线程更多的用于解决线程阻塞造成的用户等待(通常是操作完UI后用户不再干涉,其他线程在等待队列中,CPU一旦空闲就继续执行, 不影响用户其他UI操作),其处理能力并没有明显的变化.如今无论是移动操作系统还是PC.服务器都是多核处理器,于是“并行

共享资源加锁的操作方法-10-多线程

1 在多线程的编程环境中,锁的使用必不可少! 2 于是,今天来总结一下为共享资源加锁的操作方法. 3 4 一.使用synchronized方式 5 6 //线程1 7 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 8 @synchronized(_myLockObj){ 9 [obj1 method1]; 10 sleep(30); 11 } 12 @synchronized(ob

iOS开发--多线程 并行开发

概览 大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算.可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行.但是机器码是按顺序执行的,一个复杂的多步操作只能一步步按顺序逐个执行.改变这种状况可以从两个角度出发:对于单核处理器,可以将多个步骤放到不同的线程,这样一来用户完成UI操作后其他后续任务在其他线程中,当CPU空闲时会继续执行,而此时对于用户而言可以继续进行其他操作:对于多核处理器,如果用户在UI线程中完成某个操作之后,其他后续操作在别的线程