主執行緒和子執行緒均迴圈10次,兩者交替執行50次
我們應該時時保持面向物件程式設計的思想,可以將主子執行緒封裝到一個類中(類中的方法是兩個有關聯的方法)
,使用標記變數可以人為的控制執行緒的執行。
import java.util.ArrayList; import java.util.List; import java.util.Scanner; import java.util.Timer; import java.util.TimerTask; import javax.print.attribute.standard.MediaName; import javax.security.auth.Subject; import javax.swing.plaf.nimbus.AbstractRegionPainter; import org.omg.CORBA.PUBLIC_MEMBER; class zz { public static void main(String[] args) { final Run running = new Run(); new Thread( new Runnable() { public void run() { for(int i = 0;i < 50;++ i){ running.subLine(i); } } } ).start(); for(int i = 0;i < 50;++ i){ running.mainLine(i); } } } class Run{ private boolean mainLineStart = true; public synchronized void subLine(int i){ if(mainLineStart){ try { this.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } for(int j = 0;j < 10;++ j){ System.out.println("子執行緒第"+i+"輪次:"+j); } mainLineStart = true; this.notify(); } public synchronized void mainLine(int i){ if(!mainLineStart){ try { this.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } for(int j = 0;j < 10;++ j){ System.out.println("主執行緒第"+i+"輪次:"+j); } mainLineStart = false; this.notify(); } }
相關推薦
主執行緒和子執行緒均迴圈10次,兩者交替執行50次
我們應該時時保持面向物件程式設計的思想,可以將主子執行緒封裝到一個類中(類中的方法是兩個有關聯的方法) ,使用標記變數可以人為的控制執行緒的執行。 import java.util.ArrayLi
ThreadPool執行緒池使用及解決主執行緒和子執行緒執行順序問題
執行緒池建立五個執行緒,每個執行緒往list中新增100個元素。synchronized只鎖執行緒共享變數list物件,程式碼段內僅新增元素及列印資訊。設定10ms睡眠時間給其餘執行緒機會。 ExecutorService fixedThreadPool = Execut
Unity進階篇:主執行緒和子執行緒概念及注意點
先理解一下什麼是執行緒: 執行緒是作業系統級別的概念,現代作業系統都實現並且支援執行緒,執行緒的排程對應用開發者是透明的,開發者無法預期某執行緒在何時被排程執行。基於此,一般那種隨機出現的BUG,多與
【2019春招準備:22.執行緒生命週期(主執行緒和子執行緒)】
參考:強烈推薦 https://blog.csdn.net/u013905744/article/details/73741056 run java application: 建立一個java虛擬機器程序,main執行緒和userThread都可以在裡面跑,當沒有執行緒的時候,退出程
【轉載】在C#中主執行緒和子執行緒如何實現互相傳遞資料
using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace ATest { class A { public static
多執行緒demo-主執行緒和子執行緒交替執行
package Thread; /** * 實現效果:主執行緒執行10次,子執行緒執行100次,主執行緒和子執行緒迴圈交替執行50次 主要演示synchronized和wait、notify的使用 * 適用場景:只有兩個執行緒的情況,呵呵 */ public c
主執行緒 和子執行緒的同步控制
有道面試題 子執行緒迴圈10次 然後 主執行緒 迴圈100次 如此往復50次 通過主執行緒和子執行緒的同步實現 public class Test { public static void main(String args[]) { //子執行緒迴圈
android主執行緒和子執行緒的區別
android 主執行緒和子執行緒有什麼區別本文較為深入的分析了android中UI主執行緒與子執行緒。分享給大家供大家參考。具體如下:在一個Android 程式開始執行的時候,會單獨啟動一個Process。預設的情況下,所有這個程式中的Activity或者Service(S
Android之用Handler實現主執行緒和子執行緒互相通訊以及子執行緒和子執行緒之間的通訊
1、上程式碼 activity_main.xml檔案 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.
Linux多執行緒──主執行緒和子執行緒分別迴圈一定次數
條件變數 條件變數是執行緒可用的另一種同步機制。條件變數給多個執行緒提供了一個回合的場所。條件變數與互斥量一起使用時,允許執行緒以無競爭的方式等待鐵定的條件發生。 名稱: pthread_cond_wait/pthread_cond_timedwait 目標:
主執行緒和子執行緒通訊,主執行緒用bundle傳送資料到子執行緒
package com.wangcan; import android.os.Bundle; import android.os.Handler; import android.os.HandlerThread; import android.os.Message; im
Windows主執行緒和子執行緒的關係
在Windows下最重要的兩個概念,一個是程序,一個是執行緒。先來說下程序和執行緒的關係,程序是靜態的,它相當於一個存放資料的空間,是放在記憶體中的,可以理解為一個工廠。而執行緒是動態來執行執行緒中的程式碼的,相當於工廠中的工人。看到執行程式碼你可能就會想到CPU了,沒錯,執
C# 多執行緒詳解 Part.02(UI 執行緒和子執行緒的互動、ProgressBar 的非同步呼叫)
我們先來看一段執行時會丟擲 InvalidOperationException 異常的程式碼段: private void btnThreadA_Click(object sender, EventArgs e) { Thread thread
tap點擊一次,內部程序執行兩次,多次
tap 得到 data 程序 -s document 解釋 bsp 一次 調試過程發現,使用 $(document).on(‘tap‘, ‘.children2‘, function () { //內部程序 }) 點擊children2的時候,程序在裏面執行了兩次。百度得
在股市的交易日中,假設最多可進行兩次買賣(即買和賣的次數均小於等於2),規則是必須一筆成交後進行另一筆(即買-賣-買-賣的順序進行)。給出一天中的股票變化序列,請寫一個程式計算一天可以獲得的最大收益。
思想來源於動態規劃,如果以arr[i]為第二個投資點,那麼,必須找到i-1前面的最大投資收益 class Stock { public: int maxProfit(vector<
quartz定時任務實現只執行一次,以後不再執行
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schem
機房三維(3D)監控系統和機房視覺化動力環境監控系統,兩者有什麼功能特點?
隨著計算機技術的迅速發展,數字交換技術的日新月異,計算機通訊已經深入到社會生活並對社會經濟的發展起著決定性的作用,而在這其中計算機機房資料中心作為載體更是整體生態鏈中的重中之重。如果沒有統一的監控系統進行管理,主要是依靠值班人員的定時巡檢來進行系統監控,由於值班人員知識面和安全管理的問題,值班人員不
【小家java】Java中主執行緒(父執行緒)與子執行緒的通訊和聯絡
相關閱讀 【小家java】java5新特性(簡述十大新特性) 重要一躍 【小家java】java6新特性(簡述十大新特性) 雞肋升級 【小家java】java7新特性(簡述八大新特性) 不溫不火 【小家java】java8新特性(簡述十大新特性) 飽受讚譽 【小家java】java9
Qt中通過訊號和槽在子執行緒和主執行緒中進行資料傳遞
QT中兩個執行緒之間進行自定義型別資料傳遞 兩個執行緒中進行資料傳遞時,傳遞的資料放到佇列中(queue),所以在這個過程中,需要在傳遞前將資料拷貝、儲存到佇列中;為了儲存這些引數,Qt需要construct、destruct、copy這些物件,為了讓Qt知道
java主執行緒結束和子執行緒結束之間的關係
情況1:正常情況下,主執行緒啟動了子執行緒,主執行緒、子執行緒各自執行,彼此不受影響。 當你在run一個Java application的時候,這個時候系統會開一個程序。然後這個程序啟動了Main執行緒。Java程序確定虛擬機器中沒有執行緒執行的時候,退出程序。或者也可以用