![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
hp_yangpeng
青岛大学
展开
-
JAVA并发编程:线程的交替打印问题
问题一描述创建3个线程A、B、C、线程A打印字母A,线程B打印字母B,线程C打印字母C;但要求三个线程同时运行并交替打印,即按照ABCABC的顺序打印;设计思路如下:第一步:创建ReentrantLock对象,用于在三个线程中加锁;第二步:创建整型变量,用于控制输出内容;第三步:创建线程对象,用于输出;第四步:启动线程对象,输出结果;具体代码如下;public class ABC_...原创 2019-10-21 18:22:32 · 516 阅读 · 0 评论 -
java 进程和线程的区别与联系
程序:一段静态的代码,一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体,是应用软件执行的蓝本。 进程:是程序的一次动态执行,它对应着从代码加载,执行至执行完毕的一个完整的过程,是一个动态的实体,它有自己的生命 周期。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。反映了一个程序在 一转载 2016-12-27 21:12:26 · 4230 阅读 · 0 评论 -
Java线程中sleep()、wait()和notify()和notifyAll()、suspend和resume()、yield()、join()、interrupt()的用法和区别
写的很好,这里转载供大家参考;转载原址:http://zheng12tian.iteye.com/blog/1233638从操作系统的角度讲,os会维护一个ready queue(就绪的线程队列)。并且在某一时刻cpu只为ready queue中位于队列头部的线程服务。 但是当前正在被服务的线程可能觉得cpu的服务质量不够好,于是提前退出,这就是yield。 或者当前正在被服务转载 2018-02-02 10:35:16 · 181 阅读 · 0 评论 -
java 两个有序数组合并成一个有序数组算法
1. 问题描述:对于两个有序数组arrayM,arrayN,长度分别为m和n;将这两个数组合并成一个数组并进行排序,要求时间复杂度为O(m+n);2. 解题思路:定义一个数组res,长度为m+n;定义两个index,分别为indexM、indexN,用来记录数组arrayM、arrayN的下标;通过分别遍历数组arrayM和arrayN的方式来比较每个值的大小,并将值存放到res中;...原创 2019-09-19 19:50:20 · 5112 阅读 · 0 评论