多執行緒和佇列

2021-10-05 02:29:31 字數 1705 閱讀 9460

queue.h

#pragma once

#include

#include

#include

#include

#include

#define n 100

//佇列長度

struct queue

;typedef

struct queue queue;

//簡寫

void

init

(queue *p)

;//初始化

intisempty

(queue *p)

;//判斷佇列是否為空

intisfull

(queue *p)

;//判斷是否滿了

void

enqueue

(queue *p,

int key)

;//吃進去

intgetlast

(queue *p)

;//獲取彈出的資料

void

dequeue

(queue *p)

;//出隊

void

show

(queue *p)

;//顯示

queue.c

#include

"queue.h"

void

init

(queue *p)

//初始化

intisempty

(queue *p)

//判斷佇列是否為空

else

}int

isfull

(queue *p)

//判斷是否滿了

else

}void

enqueue

(queue *p,

int key)

//吃進去

else

else

p->data[0]

= key;

p->back++;}

}}intgetlast

(queue *p)

//獲取彈出的資料

void

dequeue

(queue *p)

//出隊

else

}void

show

(queue *p)

//顯示

printf

("\n");

}

佇列(main1)和多執行緒.c

#include

"queue.h"

void

main1()

while(!

isempty

(&myq)

)system

("pause");

}struct queue myq;

void

run(

void

*p)void

main()

;for

(int i =

0; i <

10; i++

)system

("pause");

show

(&myq)

;system

("pause");

}

多執行緒, 執行緒佇列

self performselectoronmainthread selector refreshcellforliveid withobject userinfo waituntildone yes 該方法的作用是在主線程中,執行制定的方法 塊 引數 selector refreshcellfor...

多執行緒 佇列

對於編寫多執行緒的朋友來說,佇列具有天生的互斥性。在佇列裡面,乙個負責新增資料,乙個負責處理資料。誰也不妨礙誰,誰也離不開誰。所以,佇列具有天生的並行性。只針對 乙個執行緒讀,乙個執行緒寫。當不滿足這個先決條件,多執行緒也完蛋,也得進佇列加鎖,出佇列加鎖 view plain print?defin...

多執行緒和同步佇列

最近要割接個專案,要把另外乙個公司的資料庫裡的一張表倒到我們庫里,資料有一億三千多萬吧。正號也符合生產者和消費者的狀況。以前用過點執行緒池和同步佇列,寫個例子,讓大家拍磚。不多說了,直接上 1.執行緒池 public class threadpool override public void run...