文档章节

线程学习(1)

笙1
 笙1
发布于 2017/02/17 09:11
字数 369
阅读 16
收藏 1

一.线程创建

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
0
Posix多线程编程学习笔记

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

晨曦之光
2012/04/13
163
0
C#多线程学习(二) 如何操纵一个线程

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

Yamazaki
2012/03/29
0
0
Java编程语言中sleep()和yield()的区别

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

hanzhankang
2014/02/19
0
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
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 恨不得给你买张飞机挂票

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @开源中国首席灵魂师:分享张希/曹方的单曲《认真地老去》 来不及认真的年轻过,就认真的老去! 《认真地老去》- 张希/曹方 手机党少年们想听...

小小编辑
今天
148
6
如何实现靠谱的分布式锁?

分布式锁,是用来控制分布式系统中互斥访问共享资源的一种手段,从而避免并行导致的结果不可控。基本的实现原理和单进程锁是一致的,通过一个共享标识来确定唯一性,对共享标识进行修改时能够...

郑加威
今天
1
0
Mac OS X下Maven的安装与配置

Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后...

TonyStarkSir
今天
3
0
关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
今天
10
0
打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部