當start_activity線程(主線程)在信號睡眠時訪問packetList對於來自start_thread的線程是安全的。如果沒有,那麼我怎樣才能共享他們之間的資源,請注意訪問只會被讀取,packetList不會被改變。訪問睡眠線程資源
class A{
Vector<packet> packetList;
A()
{
//packetList initialized here
}
void start_thread()
{
//start a thread here
}
void start_activity()
{
while(true)
{
//possibly sleep on semephore
//do work
}
}
}
這是可能的,但是你必須同步訪問列表。當線程正在喚醒時,您必須考慮有人讀取矢量的情況。 –
@JakubZaverka當主線程在信號量上睡眠時,其他線程是否可以訪問數組? –