![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
凌霄殿的大帝
这个作者很懒,什么都没留下…
展开
-
单例模式的饿汉式、懒汉式
单例设计模式:保证在内存中只有一个对象饿汉式: /* * 饿汉式: */class MySingleton{ //1. 构造方法私有化,其他类不能访问该构造(创建该对象) private MySingleton(){}; //2. 创建本类对象,成员变量被私有,对外提供公共的获取方法 private static MySing...原创 2018-11-13 00:06:13 · 88 阅读 · 0 评论 -
实现线程间的通信(一)
notify()和wait()实现:this.notify():随机唤醒单个等待线程。this.wait():当前线程等待,wait()若无人唤醒,则一直等待;而Thread.sleep是睡眠一定时间后再次启动。 public class DemoNotify { public static void main(String[] args) { f...原创 2018-11-13 10:18:08 · 136 阅读 · 0 评论 -
实现线程间的通信(二)
非静态的同步方法的锁对象:this静态的同步方法的锁对象是:该类的字节码对象this.notify():唤醒单个等待的线程this.notifyAll():唤醒所有等待的线程/* * 1.在同步代码块中,用哪个对象锁,就用那个对象调用wait方法 * 2.为什么wait方法和notify方法可以定义在Object这类中 * 因为锁对象是...原创 2018-11-13 11:25:04 · 99 阅读 · 0 评论 -
线程组
package com.runtime;public class DemoThreadGroup { public static void main(String[] args) { MyRunnable m=new MyRunnable(); ThreadGroup tGroup=new ThreadGroup("new group"); ...原创 2018-11-13 11:40:02 · 78 阅读 · 0 评论 -
线程的五种状态
线程池:package com.thread;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class MyExecutor { public static void main(String[] args) { Execu...原创 2018-11-13 15:11:59 · 156 阅读 · 0 评论 -
实现客户端写入字符串,在服务端翻转后返回(多线程)
实现客户端写入字符串,在服务端翻转后返回服务端:package network.tcp;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.ServerSocket...原创 2018-11-14 14:49:07 · 766 阅读 · 0 评论 -
多线程,并发,并行
多线程的引入 什么是线程: 线程是程序执行的一条路径,一个进程中可以包含多条线程 多线程并发可以提高程序效率,同时完成多项工作 并发和并行的区别 并行就是两个任务同时运行(需要多核CPU) 并发就是两个任务都请求运行,而处理器只能接受一个任务,就把两个任务安排轮流进行,由于时间间隔较短,使人感觉两个任务都在运行(单个CPU) 如我和两个网友聊天,左手操作一个电脑和...原创 2018-11-12 15:54:46 · 162 阅读 · 0 评论 -
创建多线程的两种方法
创建线程的方法:一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。 public class MyThread extends Thread{ @Override public void run() { super.run(); //继承T...原创 2018-11-12 21:01:39 · 160 阅读 · 0 评论 -
多线程的命名
public static void main(String[] args) { //通过构造方法给线程起名字 new Thread("first线程"){ public void run(){ System.out.println(this.getName()+" 第一个"); ...原创 2018-11-12 21:19:20 · 448 阅读 · 0 评论