java多线程共同工作,利用synchronized关键字
2017-08-31 15:11
281 查看
做的东西
下面的代码实现了一个模型,那就是开了五个线程,大家共同维护一个状态,一起数数,一直到有人数到1500为止。思路
把数数的那部分代码同步(synchronized),同步之后五个线程每次都进去数数都有锁的状态,然后找到当时对应的变量,然后+1输出自己的状态,最后到count变量为1500时,停止输出。注意事项
注意开的线程必须来自于不同的对象,不然的话锁就是相同的,这样的话最后锁被一个线程所占据,最后一个线程就干完了所有的活,所以注意要开多个对象实现的代码
package Thread; public class SynThreadMain { public static void main(String[] args) throws InterruptedException{ // SyncThread tt = new SyncThread(); // SyncThread tw = new SyncThread(); // Thread t1 = new Thread(tt,"A线程"); // Thread t2 = new Thread(tw,"B线程"); // t1.start(); // t2.start(); //最基础的线程版本 //线程组版本 final int THREAD_NUM = 5; Thread threads[] = new Thread[THREAD_NUM]; for(int i=0;i<THREAD_NUM;i++){ threads[i] = new Thread(new SyncThread(),"线程"+i); threads[i].start(); } } } class SyncThread implements Runnable{ private static int count; public SyncThread(){ //构造函数用来初始化用 count = 0; } public synchronized void method(){ //count++; do{ count++; System.out.println(Thread.currentThread().getName()+" :"+count); //if(count==) }while(count<1500); } public synchronized void run(){ method(); } }
相关文章推荐
- java多线程(五)synchronized关键字修饰代码块
- Java多线程系列--“基础篇”04之 synchronized关键字
- Java中利用synchronized关键字实现多线程同步问题 .
- java多线程编程关键字volatile,ThreadLocal和synchronized
- java多线程笔记(2)——关于synchronized关键字一些注意事项
- Java多线程(四)—— synchronized关键字续
- Java多线程——关键字synchronized
- java多线程关键字synchronized用法
- Java多线程-synchronized关键字详解
- Java中利用synchronized关键字实现多线程同步问题
- java多线程编程之Synchronized关键字详解
- java多线程中synchronized关键字的用法
- Java多线程之synchronized关键字
- Java多线程:线程同步与关键字synchronized
- java多线程编程之使用Synchronized关键字同步类方法
- Java多线程研究02-对象锁,synchronized关键字详解
- Java多线程-synchronized关键字
- java多线程中synchronized关键字的用法
- java多线程中synchronized关键字的用法
- java多线程中synchronized关键字的用法