文档章节

线程学习(1)

笙1
 笙1
发布于 2017/02/17 09:11
字数 369
阅读 15
收藏 1
点赞 0
评论 0

一.线程创建

1

public class MyThread extends Thread {
	@Override
	public void run() {
       
	}
}
public class MyThread2 implements Runnable {

	@Override
	public void run() {

	}

}
public class MyThread3 implements Callable<String> {

	@Override
	public String call() throws Exception {
		// TODO Auto-generated method stub
		return null;
	}

}

二.常用方法

1.start:使线程开始执行,实际上这个方法会调用下面的run这个方法,如果这个线程已经开始执行,则会扔出IllegalThreadStateException

2.sleep当前已经运行的线程休眠一段时间。如果当前线程已经被别的线程中断的话,将会扔出InterruptedException

3.run:线程执行逻辑

4;join: 阻塞调用线程,直到某个线程终止或经过了指定时间为止

5.yield

  • Yield是一个静态的原生(native)方法
  • Yield告诉当前正在执行的线程把运行机会交给线程池中拥有相同优先级的线程。
  • Yield不能保证使得当前正在运行的线程迅速转换到可运行的状态
  • 它仅能使一个线程从运行状态转到可运行状态,而不是等待或阻塞状态

6.wait

wait() 与 notify/notifyAll 方法必须在同步代码块中使用

wait方法释放了锁,使得其他线程可以使用同步控制块或者方法

方法来自Object

7.notify:notify仅唤醒一个线程并允许它去获得锁

8.notifyAll:唤醒所有等待这个对象的线程并允许它们去获得对象锁

9.interrupt

 

© 著作权归作者所有

共有 人打赏支持
笙1
粉丝 2
博文 39
码字总数 4058
作品 0
深圳
后端工程师
C#多线程学习(三) 生产者和消费者

[1] C#多线程学习(三) 生产者和消费者 [2]C#多线程学习(三) 生产者和消费者 本系列文章导航 C#多线程学习(一) 多线程的相关概念 C#多线程学习(二) 如何操纵一个线程 C#多线程学习(三) 生产者...

Yamazaki ⋅ 2012/03/29 ⋅ 0

Posix多线程编程学习笔记

Posix多线程编程学习笔记(一)—线程基础(1) http://blog.chinaunix.net/u/22935/showart310711.html Posix多线程编程学习笔记(一)—线程基础(2) http://blog.chinaunix.net/u/22935/...

晨曦之光 ⋅ 2012/04/13 ⋅ 0

Java编程语言中sleep()和yield()的区别

Java编程语言在使用中有很多需要我们学习的,下面我们就来看看sleep()和yield()的区别之间的区别,希望大家在详细学习中有所收获。只有在不断的学习才能更好的使用。 1) sleep()使当前线程进...

hanzhankang ⋅ 2014/02/19 ⋅ 0

C#多线程学习(二) 如何操纵一个线程

[1] C#多线程学习(二) 如何操纵一个线程 [2]C#多线程学习(二) 如何操纵一个线程 本系列文章导航 C#多线程学习(一) 多线程的相关概念 C#多线程学习(二) 如何操纵一个线程 C#多线程学习(三) 生...

Yamazaki ⋅ 2012/03/29 ⋅ 0

收藏的博客 -- 高性能Linux服务器

http://zhuanlan.51cto.com/columnlist/shenj/ --- 58沈剑 http://blog.csdn.net/analogouslove --- 范蠡&张小方 http://blog.csdn.net/column/details/15700.html --- teamtalk https://gi......

libaineu2004 ⋅ 2017/08/08 ⋅ 0

Python3简单实现多任务(线程/协程篇)

写在前面 这次讲一讲python创建多任务另外两种常见的方式: 协程和线程 线程多任务实现1:直接使用Thread创建线程 线程多任务实现2:定义类继承threading.Thread,然后重写run方法(run方法相当于...

铁扇公主1 ⋅ 2017/10/08 ⋅ 1

关于线程池,那些你还不知道的事

一、背景   最近在学习线程相关的知识,然后顺理成章少不了学习线程池,刚开始在没有深入的学习之前,感觉线程池是很神秘的东西,而且完全想不到怎么才能实现一个自己的线程池,然后还能保...

hafiz.zhang ⋅ 2017/09/25 ⋅ 0

java高并发之从零到放弃

前言 这是一个长篇博客,希望大家关注我并且一起学习java高并发 废话不多说,直接开始 并行和并发 并行:多个线程同时处理多个任务 并发:多个线程处理同个任务,不一定要同时 下面用图来描述...

野梦M ⋅ 2017/11/22 ⋅ 0

Java线程与多线程教程

Java线程是执行某些任务的轻量级进程。Java通过Thread类提供多线程支持,应用可以创建并发执行的多个线程。 应用中有两类线程——用户线程和守护线程。当启动应用时,main线程是创建的第一个...

LCZ777 ⋅ 2014/03/25 ⋅ 0

最全面的java多线程用法解析用五分钟学会这招,以后绝对用得上!

之前看到一题,题目的要求是利用多线程的知识,写一个程序。实现在控制台循环打印“ * ”(星号),然后输入数字,打印对应个数的星号,再输入数字,打印的个数随之改变。如果是用while循环或...

JAVA大神 ⋅ 2017/11/24 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

使用 vue-cli 搭建项目

vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli 一、 安装 node.js 首先需要安装node环境,可以直接到中...

初学者的优化 ⋅ 21分钟前 ⋅ 0

设计模式 之 享元模式

设计模式 之 享元模式 定义 使用共享技术来有效地支持大量细粒度对象的复用 关键点:防止类多次创建,造成内存溢出; 使用享元模式来将内部状态与外部状态进行分离,在循环创建对象的环境下,...

GMarshal ⋅ 36分钟前 ⋅ 0

SpringBoot集成Druid的最简单的小示例

参考网页 https://blog.csdn.net/king_is_everyone/article/details/53098350 建立maven工程 Pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM......

karma123 ⋅ 今天 ⋅ 0

Java虚拟机基本结构的简单记忆

Java堆:一般是放置实例化的对象的地方,堆分新生代和老年代空间,不断未被回收的对象越老,被放入老年代空间。分配最大堆空间:-Xmx 分配初始堆空间:-Xms,分配新生代空间:-Xmn,新生代的大小一...

算法之名 ⋅ 今天 ⋅ 0

OSChina 周日乱弹 —— 这么好的姑娘都不要了啊

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @TigaPile :分享曾惜的单曲《讲真的》 《讲真的》- 曾惜 手机党少年们想听歌,请使劲儿戳(这里) @首席搬砖工程师 :怎样约女孩子出来吃饭,...

小小编辑 ⋅ 今天 ⋅ 8

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部