首页 / JAVA / 【Java】Java多线程的简单使用
【Java】Java多线程的简单使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【Java】Java多线程的简单使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1261字,纯文字阅读大概需要2分钟。
内容图文
import java.util.*; public class ThreadsTest extends Thread{ private String name; private int time; public ThreadsTest(int time,String name){ this.time = time; this.name = name; } public void run() { while (true) { try { System.out.println(name+":"+Calendar.getInstance().getTime()); Thread.sleep(time); }catch(InterruptedException e) {} } } public static void main(String[] args) { ThreadsTest fast = new ThreadsTest(1000,"Fast"); ThreadsTest slow = new ThreadsTest(3000,"Slow"); fast.start(); slow.start(); } }
效果如图:
有临界资源,用synchronized修饰代码块或方法,可实现某一时刻只有一个线程拥有对象锁
以堆栈举例:
public class Stack{ int idx = 0; char[] data = new char[10]; public void push(char c) { synchronized (this) { //方法一,用在代码块 data[idx] = c; idx++; } } public synchronized char pop() { //方法二,用在描述对象 idx--; return data[idx]; } }
wait()方法和notify()方法,wait()方法使线程进入阻塞状态,释放占用的对象锁。notify()方法和notifyAll()方法,前者随机唤醒等待中的一个线程,后者使等待队列中的全部线程解除阻塞。
实现Runnable接口
class TimePrinter implements Runnable{ //此处省略代码,只有构造对象时候不同 public static void main(String[] args) { Thread fast = new Thread(new TimePrinter(1000,"Fast")); Thread slow = new Thread(new TimePrinter(1000,"slow")); fast.start(); slow.start(); } }
内容总结
以上是互联网集市为您收集整理的【Java】Java多线程的简单使用全部内容,希望文章能够帮你解决【Java】Java多线程的简单使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。