çok iş parçacıklı http sunucusunda pthread_create
Aug 22 2020
Sunucunun istemcileri şu şekilde ele aldığını varsayalım:
void* handle_request(void* client_sck);
int client_sck;
while((client_sck = accept(...)) != -1)
{
/*
.
.
.
*/
pthread_create(&thr, 0, handle_request, (void*)&client_sck);
}
Her döngü yinelemesinde, iletilen son argümanın pthread_createiş parçacıkları arasında paylaşılacağını söylemek güvenli mi? İkinci kez, yani client_sck önceki yinelemeden aynı adrese sahiptir.
Yanıtlar
1 VolkerStolz Aug 22 2020 at 15:04
Evet. Bu , önceki iş parçacığının değeri getirme şansı vermeden önce bir sonraki accept() değerin üzerine yazabileceği anlamına gelir , bu nedenle bu iyi bir tasarım değildir.
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı