java多线程创建方式一Thread( 三 )


 * 3.MIN_PRIORITY = 1;
 *若何获取和设置当火线程的优先级
 * 1.getPriority()
 * 2.setPriority(int newPriority) :启动之前设置线程的优先级
 *
 * 申明:高优先级的线程要抢占低优先级线程CPU的执行权 。 可是只是从概率上讲 , 高优先级的线程高概率下被执行 。 并不料味着高优先级线程执行无缺 , 低优先级的线程才会执行 。
 */
public class ThreadMethodTest {


    public static void main(String[] args) {


    }
}

java多线程创建方式一Thread



3实例操练


package com.sgg.thread;


class MyThread exts Thread {


private static int ticket = 1000;


@Override
public void run() {


while (true) {
if (!show()) {
break;
}
;
}
}

private static synchronized boolean show() {//同步监督器:MyThread.class
//private synchronized boolean show() {//同步监督器就是:this  别离是myt1 , myt2 , myt3  此处利用是错误的
if (ticket > 0) {

try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}


System.out.println(Thread.currentThread().getName() + "票号:" + ticket);
ticket--;
return true;
}
return false;


}


}


/**
 * 利用同步代码块处置担当Thread类的线程平安问题
 * 例子 :建立三个窗口卖票 , 票总数100 利用实现Runable的体例
 * 申明:在担当Thread类建立多线程的体例中 , 慎用this充任同步监督器 , 考虑利用当前类充任监督器如MyThread.class
 * @author Administrator
 *
 */
public class WindowsThread {

public static void main(String[] args) {
MyThread myt1 = new MyThread();
myt1.start();
MyThread myt2 = new MyThread();
myt2.start();
MyThread myt3 = new MyThread();
myt3.start();

//ConcurrentHashMap<K, V>
}


}

java多线程创建方式一Thread



java多线程创建方式一Thread



4线程平安问题
1、利用lock锁
2、利用synchronized关头字 , 同步方式或者同步块

以上内容就是java多线程创建方式一Thread的内容啦 , 希望对你有所帮助哦!

猜你喜欢